[bzoj2245]工作安排
2024-08-31 02:10:18
由于价格是单调递增的,因此可以直接建立Si条边,流量和价格依次为给定的函数即可
(如果价格不递增,可以考虑动态加边等操作)
1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 1005
4 struct ji{
5 int nex,to,len,cost;
6 }edge[N*N];
7 queue<int>q;
8 int E,n,m,x,y,head[N],d[N],from[N],vis[N];
9 long long ans;
10 void add(int x,int y,int z,int w){
11 edge[E].nex=head[x];
12 edge[E].to=y;
13 edge[E].len=z;
14 edge[E].cost=w;
15 head[x]=E++;
16 if (E&1)add(y,x,0,-w);
17 }
18 bool spfa(){
19 memset(d,0x3f,sizeof(d));
20 memset(vis,0,sizeof(vis));
21 q.push(0);
22 d[0]=0;
23 while (!q.empty()){
24 int k=q.front();
25 q.pop();
26 for(int i=head[k];i!=-1;i=edge[i].nex)
27 if ((edge[i].len)&&(d[edge[i].to]>d[k]+edge[i].cost)){
28 d[edge[i].to]=d[k]+edge[i].cost;
29 from[edge[i].to]=i;
30 if (!vis[edge[i].to]){
31 vis[edge[i].to]=1;
32 q.push(edge[i].to);
33 }
34 }
35 vis[k]=0;
36 }
37 return d[n+m+1]<0x3f3f3f3f;
38 }
39 int main(){
40 scanf("%d%d",&n,&m);
41 memset(head,-1,sizeof(head));
42 for(int i=1;i<=m;i++){
43 scanf("%d",&x);
44 add(i+n,n+m+1,x,0);
45 }
46 for(int i=1;i<=n;i++)
47 for(int j=1;j<=m;j++){
48 scanf("%d",&x);
49 if (x)add(i,j+n,0x3f3f3f3f,0);
50 }
51 for(int i=1;i<=n;i++){
52 scanf("%d",&x);
53 for(int j=1;j<=x;j++)scanf("%d",&d[j]);
54 d[x+1]=0x3f3f3f3f;
55 for(int j=0;j<=x;j++){
56 scanf("%d",&y);
57 add(0,i,d[j+1]-d[j],y);
58 }
59 }
60 while (spfa()){
61 x=0x3f3f3f3f;
62 for(int i=n+m+1;i;i=edge[from[i]^1].to)x=min(x,edge[from[i]].len);
63 ans+=1LL*x*d[n+m+1];
64 for(int i=n+m+1;i;i=edge[from[i]^1].to){
65 edge[from[i]].len-=x;
66 edge[from[i]^1].len+=x;
67 }
68 }
69 printf("%lld",ans);
70 }
最新文章
- Sublime、Webstorm,还有CLI、Atom,这些开发工具的更新你清楚吗?
- CSipSimple的插件结构
- loadruner知识点小结
- iconv命令 gbk 转 UTF-8
- Java实现单向链表的增删改查
- Myeclipse2014配置JSF环境
- css实现鼠标经过导航文字偏位效果
- C# 实现HTML5服务器推送事件
- 关于Ionic的安装
- C++ 头文件系列(array)
- Centos 7系统启动修复
- Linux指令--mv
- 阿里云 virtual memory exhausted: 无法分配内存
- SpringBoot2.x开发案例之整合Quartz任务管理系统
- Spiring系列__03IOC补充
- 第一册:lesson forty three。
- Android瀑布流照片
- C语言 &#183; 乘法运算
- Java 常用对象-System类
- 实例教程:1小时学会Python(转)
热门文章
- Mysql读写分离集群的搭建且与MyCat进行整合
- 题解 [CTSC2006]歌唱王国
- python os.walk处理树状目录结构的文件
- Linux信号处理编程
- mysql all_ip_test局域网IP测试工具,有需要的改一改.
- django 中的hello word 开心,通过申请博客了,,发个随笔庆祝一下~~~~~~~
- 从浏览器发送请求给SpringBoot后端时,是如何准确找到哪个接口的?(下篇)
- 2021.9.14考试总结[NOIP模拟53]
- 21.6.4 test
- atcoder ABC233