就是bzoj1070的加强版,数据规模扩大了n倍,这样要是一次把所有边都加进去的话就爆炸了,,所以使用单路增广,增广过一条边后在加入下一条边。

  //By hzwer
1 #include<iostream>
#include<cstdio>
#include<cstring> #define inf 0x7fffffff
#define T 100001 using namespace std; int n,m,tot,cnt=,ans,t[][];
int c[],d[],q[],from[],head[];
bool inq[]; struct edge{int from,to,next,c,v;}e[]; void ins(int u,int v,int w,int c)
{
cnt++;
e[cnt].from=u;e[cnt].to=v;
e[cnt].next=head[u];head[u]=cnt;
e[cnt].c=c;e[cnt].v=w;
} void insert(int u,int v,int w,int c)
{ins(u,v,w,c);ins(v,u,,-c);} bool spfa()
{
for(int i=;i<=T;i++)d[i]=inf;
int t=,w=;d[]=;inq[]=;q[]=;
while(t!=w)
{
int now=q[t];t++;if(t==T)t=;
for(int i=head[now];i;i=e[i].next)
if(e[i].v&&d[e[i].to]>d[now]+e[i].c)
{
d[e[i].to]=d[now]+e[i].c;from[e[i].to]=i;
if(!inq[e[i].to])
{inq[e[i].to]=;q[w++]=e[i].to;if(w==T)w=;}
}
inq[now]=;
}
if(d[T]==inf)return ;
return ;
} void mcf()
{
int x=inf,a,b,y;
for(int i=from[T];i;i=from[e[i].from])
{
x=min(x,e[i].v);
if(e[i].from==)
{y=e[i].to;a=(y-)/tot+;b=y%tot+;}
}
for(int i=from[T];i;i=from[e[i].from])
{e[i].v-=x;e[i^].v+=x;ans+=e[i].c*x;}
for(int i=;i<=m;i++)
insert((a-)*tot+b,n*tot+i,,b*t[i][a]);
} int main()
{
scanf("%d%d",&m,&n);
for(int i=;i<=m;i++)
{
scanf("%d",&c[i]);
tot+=c[i];
}
for(int i=;i<=m;i++)
for(int j=;j<=n;j++)
scanf("%d",&t[i][j]);
for(int i=;i<=n*tot;i++)
insert(,i,,);
for(int i=;i<=m;i++)
insert(n*tot+i,T,c[i],);
for(int i=;i<=n;i++)
for(int k=;k<=m;k++)
insert((i-)*tot+,n*tot+k,,t[k][i]);
while(spfa())mcf();
printf("%d",ans);
return ;
}

最新文章

  1. Nodejs事件引擎libuv源码剖析之:高效队列(queue)的实现
  2. WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案(转)
  3. MVC学习系列11---验证系列之客户端验证
  4. iOS开发 iOS10推送必看(基础篇)
  5. Ubuntu14.04安装MySql
  6. 纯CSS下拉导航菜单
  7. SQL触发器实例
  8. perl语言书籍教程推荐
  9. 一个超级简单的HTML模板框架源代码以及使用示例
  10. poj1330
  11. 使用runtime给类动态添加方法并调用 - class_addMethod
  12. 嵌入式 hi3518c下ramdisk文件系统与文件系统烧写以及uboot中change-the-env
  13. Character Encoding tomcat.
  14. MediaPlayer本地播放流程解析(一)
  15. Python全栈之路-Day33
  16. 【BZOJ1975】【SDOI2010】魔法猪学院(搜索,A*,贪心)
  17. 字符串拼接引发的BUG
  18. Java性能调优zz
  19. Learning-Python【13】:迭代器和生成器
  20. 从零实现Lumen-JWT扩展包(序):前因

热门文章

  1. python re的使用
  2. ASP.NET SQL 总结
  3. linux学习之路1 Linux系统安装
  4. 51nod1344 走格子
  5. 2017杭电多校第七场1011Kolakoski
  6. Snackbar:用它来替换Toast 显示短提示
  7. 292 Nim Game Nim游戏
  8. MySQL的两种存储引擎storage engine特点和对比
  9. python manage.py syncdb报错:No module named MySQLdb
  10. Apache ab使用指南