BZOJ 1877 拆点费用流
思路:
呃 水题不解释 行么,,
//By SiriusRen #include <queue> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define mem(x,y) memset(x,y,sizeof(x)) const int N=88888,M=444; int n,m,xx,yy,zz,edge[N],cost[N],v[N],next[N],first[M]; int with[M],vis[M],minn[M],dis[M],tot,ans1,ans2; void Add(int x,int y,int C,int E){edge[tot]=E,cost[tot]=C,v[tot]=y,next[tot]=first[x],first[x]=tot++;} void add(int x,int y,int C,int E){Add(x,y,C,E),Add(y,x,-C,0);} bool tell(){mem(vis,0),mem(minn,0x3f),mem(dis,0x3f);queue<int>q;q.push(1),dis[1]=0;while(!q.empty()){int t=q.front();q.pop(),vis[t]=0;for(int i=first[t];~i;i=next[i])if(dis[v[i]]>dis[t]+cost[i]&&edge[i]){dis[v[i]]=dis[t]+cost[i],minn[v[i]]=min(minn[t],edge[i]),with[v[i]]=i;if(!vis[v[i]])vis[v[i]]=1,q.push(v[i]);}}return dis[n*2]!=0x3f3f3f3f; } void zeng(){for(int i=2*n;i^1;i=v[with[i]^1])edge[with[i]]-=minn[n*2],edge[with[i]^1]+=minn[n*2];ans1+=minn[n*2],ans2+=dis[n*2]*minn[n*2]; } int main(){mem(first,-1),scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){scanf("%d%d%d",&xx,&yy,&zz);add(xx+n,yy,zz,1);}for(int i=2;i<n;i++)add(i,i+n,0,1);add(1,n+1,0,M),add(n,2*n,0,M);while(tell())zeng();printf("%d %d\n",ans1,ans2); }
转载于:https://www.cnblogs.com/SiriusRen/p/6637680.html
BZOJ 1877 拆点费用流相关推荐
- BZOJ 1070 拆点 费用流
1070: [SCOI2007]修车 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 5860 Solved: 2487 [Submit][Statu ...
- BZOJ.2597.[WC2007]剪刀石头布(费用流zkw)
BZOJ 洛谷 \(Description\) 给定一张部分边方向已确定的竞赛图.你需要给剩下的边确定方向,使得图中的三元环数量最多. \(n\leq100\). \(Solution\) 这种选择之 ...
- BZOJ 2696 航班安排 费用流
题目大意:K架飞机,N个机场,以0..N-1编号,其中0号为基地机场,每天0时刻起飞机从该机场起飞,并不晚于T时刻回到该机场.M个包机请求,每个请求为在s时刻从a机场起飞,在恰好t时刻到达b机场,可以 ...
- BZOJ 2879 美食节(费用流-动态加边)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2879 题意:有n道菜,每道菜需要b[i]份,m个厨师,第j个厨师做第i道菜需要时间a[i ...
- bzoj 1061 志愿者招募 费用流
详见BYV的博客,写的非常全面https://www.byvoid.com/blog/noi-2008-employee /************************************** ...
- [费用流]Bzoj P1877 晨跑
Description Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他 坚持下来的只有晨跑. 现在给出一张学校附近的地图,这张地图中包含N个 ...
- bzoj 1877: [SDOI2009]晨跑 (网络流)
明显拆点费用流: typearr=recordtoward,next,cap,cost:longint;end;constmm=1<<30;maxn=1000;maxm=300000;va ...
- 【bzoj2324】[ZJOI2011]营救皮卡丘 最短路-Floyd+有上下界费用流
原文地址:http://www.cnblogs.com/GXZlegend/p/6832504.html 题目描述 皮卡丘被火箭队用邪恶的计谋抢走了!这三个坏家伙还给小智留下了赤果果的挑衅!为了皮卡丘 ...
- 【BZOJ 1877】 [SDOI2009]晨跑(费用流)
题目描述 Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑. 现在给出一张学校附近的地图,这张地图中包含N个十字路口和M条街 ...
最新文章
- Ant Design 被删代码已恢复,现登顶 GitHub Trending Top 2
- OpenCV学习(12) 图像的腐蚀与膨胀(3)
- SqlServer项目经验:介质集有2个介质簇,但只提供了1个。必须提供所有成员
- UIView的属性使用
- sublime搭建python开发环境_使用sublime搭建python开发环境
- lintcode:递归打印数字
- python里的apply,applymap和map的区别
- 关于[super dealloc]
- vim 正则非贪婪模式
- 第九章:Servlet工作原理解析
- securable的LOCKED ON,LOCKED OFF,YES,NO四个的区别
- 网站服务器在国外怎么维护,网站服务器如何维护
- 淘宝2011春季校园招聘笔试试题(回忆版)(附个人简历)
- 前端----let关键字、const关键字
- sessionStorage 、localStorage 和 cookie
- opencv求矩阵的逆_使用OpenCV求模拟矩阵的逆矩阵
- Vue+Vant 基于DatetimePicker进行二次开发,实现yyyyMMdd hh:mm:ss时间选择
- 高性价比掌机Retroid Pocket 3:搭载展锐芯片T310,采用PowerVR GPU
- Mysql-时间的存储 datetime还是时间戳timestamp?
- Centos7 本地IOS配置本地yum源