AC日记——[NOI2006]最大获利 bzoj 1497
1497
思路:
最小割;
来,上代码:
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm>using namespace std;#define maxn 55005 #define maxm 1005005 #define INF 0x7fffffffint deep[maxn],que[maxm],F[maxm],cnt=1; int n,m,s,t=maxn-1,head[maxn],E[maxm],V[maxm];inline void in(int &now) {char Cget=getchar();now=0;while(Cget>'9'||Cget<'0') Cget=getchar();while(Cget>='0'&&Cget<='9'){now=now*10+Cget-'0';Cget=getchar();} }inline void edge_add(int u,int v,int f) {E[++cnt]=head[u],V[cnt]=v,F[cnt]=f,head[u]=cnt;E[++cnt]=head[v],V[cnt]=u,F[cnt]=0,head[v]=cnt; }inline bool bfs() {memset(deep,-1,sizeof(deep));int h=0,tail=1;que[0]=s,deep[s]=0;while(h<tail){int now=que[h++];for(int i=head[now];i;i=E[i]){if(F[i]>0&&deep[V[i]]<0){deep[V[i]]=deep[now]+1;if(V[i]==t) return true;que[tail++]=V[i];}}}return false; }int flowing(int now,int flow) {if(now==t||flow<=0) return flow;int oldflow=0;for(int i=head[now];i;i=E[i]){if(F[i]>0&&deep[V[i]]==deep[now]+1){int pos=flowing(V[i],min(flow,F[i]));flow-=pos,oldflow+=pos;F[i]-=pos,F[i^1]+=pos;if(flow==0) return oldflow;}}if(oldflow==0) deep[now]=-1;return oldflow; }int main() {in(n),in(m);int pos,u,v,sum=0;for(int i=1;i<=n;i++) in(pos),edge_add(s,i,pos);for(int i=1;i<=m;i++){in(u),in(v),in(pos);sum+=pos;edge_add(u,i+n,INF);edge_add(v,i+n,INF);edge_add(i+n,t,pos);}pos=0;while(bfs()) pos+=flowing(s,INF);cout<<sum-pos;return 0; }
转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6741707.html
AC日记——[NOI2006]最大获利 bzoj 1497相关推荐
- AC日记——Mato的文件管理 bzoj 3289
3289 思路: 莫队求区间逆序对个数,树状数组维护: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 500 ...
- BZOJ1497: [NOI2006]最大获利
BZOJ1497: [NOI2006]最大获利 Description 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战. THU集团旗下的CS&T通讯公司在新一代通讯技 ...
- 【BZOJ】1497: [NOI2006]最大获利 最大权闭合子图或最小割
[题意]给定n个点,点权为pi.m条边,边权为ci.选择一个点集的收益是在[点集中的边权和]-[点集点权和],求最大获利.n<=5000,m<=50000,0<=ci,pi<= ...
- 【BZOJ 1497】 [NOI2006]最大获利
Description 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一 ...
- AC日记——[Hnoi2017]影魔 bzoj 4826
4826 思路: 主席树矩阵加减+单调栈预处理: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 200005 ...
- AC日记——[HNOI2008]玩具装箱toy bzoj 1010
1010 思路: 斜率优化DP: 跪烂大佬 代码: #include <bits/stdc++.h> using namespace std; #define maxn 50005 #de ...
- AC日记——[SCOI2010]游戏 bzoj 1854
1854: [Scoi2010]游戏 Time Limit: 5 Sec Memory Limit: 162 MB Submit: 4938 Solved: 1948 [Submit][Statu ...
- AC日记——Count on a tree bzoj 2588
Description 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个询问的答案,初始 ...
- AC日记——[ZJOI2009]狼和羊的故事 bzoj 1412
1412 思路: 最小割: 狼作为一个点集a,空领地作为点集b,羊作为点集c: s向a连边,c向t连边,a向b连边,b向b连边,b向c连边: 如何理解最小割? a,c之间割掉最少的路径(栅栏)使其没有 ...
最新文章
- 在线分析|在线做随机森林分析
- PHP快速入门教程:for循环
- 用VBA去除Excel工作表保护密码
- Android Studio新手教程
- gateway中的局部过滤器_SpringCloud系列Gateway:过滤器总结
- 运维工程师到底是做什么的?
- 量化交易 均线、金叉死叉计算与交易策略
- CoMP 协同多点传输技术
- 机器学习期中考复习(md全是证明题)
- Response to preflight request do‘nt access control check: Redirect is not allow for a preflight re.
- matlab中eacf函数,基于MATLAB的切比雪夫I型模拟低通滤波器设计
- 高性能零售IT系统的建设03-监控体系化的重要不亚于开发的投入
- 研发漫画之二:救火还需纵火犯
- 职称申报评审管理系统_《四川省职称评审管理暂行办法》出台
- ubuntu下安装bochs
- linux查看端口pvid,关于PVID的几个疑问
- 树莓派4B-安装远程桌面TeamViewer
- 全球前40位最大医疗器械公司排名
- mysql的可视化图表_利用ECharts可视化mysql数据库中的数据
- Struts2框架搭建