题目描述

有N个工作,M种机器,每种机器你可以租或者买过来. 每个工作包括若干道工序,每道工序需要某种机器来完成,你可以通过购买或租用机器来完成。 现在给出这些参数,求最大利润

输入输出格式

输入格式:

第一行给出 N,M(1<=N<=1200,1<=M<=1200) 下面将有N组数据。

每组数据第一行给出完成这个任务能赚到的钱(其在[1,5000])及有多少道工序

接下来若干行每行两个数,分别描述完成工序所需要的机器编号及租用它的费用(其在[1,20000]) 最后M行,每行给出购买机器的费用(其在[1,20000])

输出格式:

最大利润

输入输出样例

输入样例#1:

2 3
100 2
1 30
2 20
100 2
1 40
3 80
50
80
110

输出样例#1:

50

    经典最小割建模。
#include<bits/stdc++.h>
#define ll long long
#define pb push_back
const int maxn=3005;
using namespace std;
const int inf=1<<30;
vector<int> g[maxn];
struct lines{int to,flow,cap;
}l[maxn*1000];
int S,T,t=-1,d[maxn],cur[maxn];
bool v[maxn];inline void add(int from,int to,int cap){l[++t]=(lines){to,0,cap},g[from].pb(t);l[++t]=(lines){from,0,0},g[to].pb(t);
}inline bool BFS(){memset(v,0,sizeof(v));queue<int> q;q.push(S),v[S]=1,d[S]=0;int x; lines e;while(!q.empty()){x=q.front(),q.pop();for(int i=g[x].size()-1;i>=0;i--){e=l[g[x][i]];if(e.flow<e.cap&&!v[e.to]){v[e.to]=1,d[e.to]=d[x]+1;q.push(e.to);}}}return v[T];
}int dfs(int x,int A){if(!A||x==T) return A;int flow=0,f,sz=g[x].size();for(int &i=cur[x];i<sz;i++){lines &e=l[g[x][i]];if(d[e.to]==d[x]+1&&(f=dfs(e.to,min(A,e.cap-e.flow)))){A-=f,flow+=f;e.flow+=f,l[g[x][i]^1].flow-=f;if(!A) break;}}return flow;
}inline int max_flow(){int an=0;while(BFS()){memset(cur,0,sizeof(cur));an+=dfs(S,inf);}return an;
}
int N,M,ans=0,now,num,K;
int main(){scanf("%d%d",&N,&M),S=0,T=N+M+1;for(int i=1;i<=N;i++){scanf("%d",&now),ans+=now,add(S,i,now);scanf("%d",&K);while(K--){scanf("%d%d",&num,&now);add(i,num+N,now);}}for(int i=1;i<=M;i++) scanf("%d",&now),add(i+N,T,now);printf("%d\n",ans-max_flow());return 0;
}

  

 

转载于:https://www.cnblogs.com/JYYHH/p/8782620.html

[CEOI2008] order相关推荐

  1. Bzoj 1391: [Ceoi2008]order 网络流,最大权闭合图

    1391: [Ceoi2008]order Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 1105  Solved: 331 [Submit][Sta ...

  2. BZOJ1391: [Ceoi2008]order

    [传送门:BZOJ1391] 简要题意: 有n个工作,m种机器,每种机器可以租或买来,给出租和买的费用,每个工作有若干个工序,每个工序需要用某种机器完成,完成工作可以获得利润 求出完成n个工作的最大利 ...

  3. P4177 [CEOI2008]order

    传送门 答案等于总工作价值减去最小失去的价值 考虑构建最小割模型 在 $S$割 的点表示选,在 $T$割 的点表示不选 对于机器(编号从 $n+1$ 到 $n+m$) $n+i$,连边 $(n+i,T ...

  4. [颓废史]蒟蒻的刷题记录

    QAQ蒟蒻一枚,其实我就是来提供水题库的. 以下记录从2016年开始. 1.1 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化 3132: 上帝造题的七分钟 树状数组 二维区间加减+查 ...

  5. 107. Binary Tree Level Order Traversal II

    题目 Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from l ...

  6. 102. Binary Tree Level Order Traversal

    题目 Binary Tree Level Order Traversal 层次遍历二叉树 链接 Given a binary tree, return the level order traversa ...

  7. Mysql分页order by数据错乱重复

    公司用的是Mybatis,发现分页和排序时直接传递参数占位符用的都是 ,由于,由于,由于有SQL注入风险,要改为#,但是封装page类又麻烦,所以直接使用了 pageHelper 插件了,方便快捷,但 ...

  8. select 和 order by

    select 的优先级要高于order by,相当于是select先创建了一个临时表,再通过临时表去排序.所以,对于一些sum()的汇总,在进行排序,实际是排序的select后的字段,而不是表里的那个 ...

  9. access order by 判断是否除数为0

    order by IIF(dz>0,yj/dz,0) desc 转载于:https://www.cnblogs.com/slyzly/p/5379482.html

最新文章

  1. 使用Mycat构建MySQL读写分离、主从复制、主从高可用
  2. 总以为自己走的很快,才发现自己是走的最慢的那个
  3. 《可穿戴创意设计:技术与时尚的融合》一一导读
  4. Android :java.lang.RuntimeException: takePicture failed
  5. 【网上的都不靠谱?还是得改源码】用Javasisst的字节码插桩技术,彻底解决Gson转Map时,Int变成double问题...
  6. java后台手动分页
  7. 如何用matlab画正态分布曲线
  8. 大一计算机应用基础答案李小艳,13级幼师班期末考试计算机试题A卷
  9. 力扣 二叉搜索树的最小绝对差
  10. ps用计算机,教你用photoshop绘制计算器
  11. 西门子/软件/博途/TIA PORTAL V14 SP1
  12. Keil 保护视力背景颜色设置和代码的颜色设置
  13. 我的四年大学生活总结
  14. 合并集合 {aaa,bbb,ccc},{bbb,ddd},{eee,fff},{ggg},{ddd,hhh}运算的结果:{aaa,bbb,ccc,ddd,hhh},{eee,fff},{ggg}
  15. oracle dbview用户,关于SQLRecoverableException问题的排查和分析
  16. 【已解决】Mysql 存储 emoji 表情报错 Incorrect string value: ‘\xF0\x9F\x98\x82\xF0\x9F
  17. python把字符串转化为字典_python 将字符串转换为字典
  18. Pubmed格式字段说明
  19. ORM一键还原系统官方版
  20. Mac AndroidStudio .9图片制作

热门文章

  1. linux can总线接收数据串口打包上传_关于串口,你需要知道这些!!
  2. 十二、PHP框架Laravel学习笔记——构造器的查询表达式
  3. 三、解决ie缓存问题
  4. speech production model
  5. Pytorch 神经网络nn模块
  6. 天池 在线编程 旅行计划(暴力回溯)
  7. LeetCode 1088. 易混淆数 II(回溯/BFS)
  8. LeetCode 135. 分发糖果(DP)
  9. LeetCode 2020 力扣杯全国春季编程大赛(1644/4093,前40.2%)
  10. LeetCode 1411. 给 N x 3 网格图涂色的方案数(数学)