当前位置: 首页 > news >正文

贵州省兴义市专做网站公司/慧聪网seo页面优化

贵州省兴义市专做网站公司,慧聪网seo页面优化,深圳做app网站设计,一起做网店网站题意: 有 M 个猪圈,每个猪圈里初始时有若干头猪,一开始所有猪圈都是关闭的,依次来了 N 个顾客,每个顾客分别会打开指定的几个猪圈,从中买若干头猪, 每个顾客分别都有他能够买的数量的上限&#…

题意: 有 M 个猪圈,每个猪圈里初始时有若干头猪,一开始所有猪圈都是关闭的,依次来了 N 个顾客,每个顾客分别会打开指定的几个猪圈,从中买若干头猪,

         每个顾客分别都有他能够买的数量的上限,每个顾客走后,他打开的那些猪圈中的猪,都可以被任意地调换到其它开着的猪圈里,然后所有猪圈重新关上。

分析:此题建图关键在于合并猪圈

        建图:

        对于每个猪圈的第一个顾客,从源点向他连一条边,容量就是该猪圈里的猪的初始数量

        如果从源点到一名顾客有多条边,则可以把它们合并成一条,容量相加,

        对于每个猪圈,假设有 n 个顾客打开过它,则对所有整数 i ∈ [1, n),从该猪圈的第 i 个顾客向第 i + 1 个顾客连一条边,容量为INF

        从各个顾客到汇点各有一条边,容量是各个顾客能买的数量上限

#include<stdio.h>
#include<string.h>
#define INF 0x1f1f1f1f
#define clr(x)memset(x,0,sizeof(x))
#define min(a,b)(a)<(b)?(a):(b)
int gap[105];
int dis[105];
int c[105][105];
void init(int s,int u,int n)
{int v,x,front=0,rear=0;int q[105];clr(gap);memset(dis,0xff,sizeof(dis));q[rear++]=u;dis[u]=0;while(front<rear){x=q[front++];gap[dis[x]]++;for(v=0;v<=n;v++)if(dis[v]==-1&&c[v][x]>0){dis[v]=dis[x]+1;q[rear++]=v;}}
}
int sap(int s,int u,int n)
{init(s,u,n);int flag,flow=0,top=s,i,j,k;int pre[105];int low[105];while(dis[s]<=n){flag=0;low[s]=INF;for(i=0;i<=n;i++)if(c[top][i]>0&&dis[top]==dis[i]+1&&dis[i]>=0){flag=1;break;}if(flag){low[i]=c[top][i];low[i]=min(low[i],low[top]);pre[i]=top;top=i;if(top==u){flow+=low[u];j=top;while(j!=s){k=pre[j];c[k][j]-=low[u];c[j][k]+=low[u];j=k;}top=s;clr(low);}}else{int dmin=n;for(j=0;j<=n;j++)if(c[top][j]>0&&dis[j]+1<dmin&&dis[j]>=0)dmin=dis[j]+1;gap[dis[top]]--;if(gap[dis[top]]==0)break;gap[dmin]++;dis[top]=dmin;if(top!=s)top=pre[top];}}return flow;
}
int pig[1002];
int p_v[1002];
int main()
{int m,n,i,t,p;while(scanf("%d%d",&m,&n)!=EOF){clr(p_v);clr(c);for(i=1;i<=m;i++)scanf("%d",&pig[i]);for(i=1;i<=n;i++){scanf("%d",&t);while(t--){scanf("%d",&p);if(!p_v[p])c[0][i]+=pig[p];else c[p_v[p]][i]=INF;p_v[p]=i;}scanf("%d",&p);c[i][n+1]=p;}printf("%d\n",sap(0,n+1,n+1));}return 0;
}

 

转载于:https://www.cnblogs.com/dream-wind/archive/2012/08/15/2639942.html

http://www.lbrq.cn/news/1470295.html

相关文章:

  • 淘宝怎么做网站/关于营销的最新的新闻
  • 深圳外贸网站建设制作方法/精准大数据获客系统
  • 长春网站建设工作室/seo竞价
  • 做网站最下面写什么/爱站seo查询
  • 新农村建设 网站/四川旅游seo整站优化站优化
  • 网站如何做的有气质/广州推广系统
  • 网站怎么做访问量统计/深圳推广不动产可视化查询
  • 怎么里ip做网站/成都今天重大新闻事件
  • 建设电子商务网站的预期收益/seo作弊
  • 西宁网站设计/游戏推广渠道
  • ps可以做网站吗/域名收录查询工具
  • 看怀集app下载/seo优化文章网站
  • 网站app怎么制作教程/百度广告点击一次多少钱
  • 有什么兼职做it的网站好/高权重网站出售
  • pageadmin自助建站/seow
  • 家教网站如何做/百度指数排行榜
  • 电商网站seo怎么做/优化服务公司
  • wordpress自定义文章类型/网站上不去首页seo要怎么办
  • 网站建设里的知识/怎么从网上找客户
  • 个人建站平台/关键词搜索排名公司
  • 网站开发细节/深圳网络络推广培训
  • 网站没被收录/关键词优化排名哪家好
  • 网站建设售后培训/网络营销教程
  • 阿里云怎么做淘宝客网站/怎么弄一个自己的链接
  • 电脑做网站主机/人民日报最新头条10条
  • 营销型的网站/seo零基础教学视频
  • 自己做网站的二维码/服务网站排名咨询
  • 白城网站建设/东莞网站优化关键词排名
  • 做网站公证需要费用是多少/黄页引流推广网站软件免费
  • 学做彩票网站有哪些/深圳网站建设方案
  • Docker 部署与配置 MySQL 5.7
  • 【Django】-1- 开发项目搭建
  • Spring boot 打包成docker image 镜像
  • lesson28:Python单例模式全解析:从基础实现到企业级最佳实践
  • python基础:request请求Cookie保持登录状态
  • spring cloud sentinel 动态规则配置