今日SGU 5.25
SGU 194
题意:无源汇有上下界的最大流
收获:https://wenku.baidu.com/view/0f3b691c59eef8c75fbfb35c.html
#include<bits/stdc++.h> #define de(x) cout<<#x<<"="<<x<<endl; #define dd(x) cout<<#x<<"="<<x<<" "; #define rep(i,a,b) for(int i=a;i<(b);++i) #define repd(i,a,b) for(int i=a;i>=(b);--i) #define repp(i,a,b,t) for(int i=a;i<(b);i+=t) #define ll long long #define mt(a,b) memset(a,b,sizeof(a)) #define fi first #define se second #define inf 0x3f3f3f3f #define INF 0x3f3f3f3f3f3f3f3f #define pii pair<int,int> #define pdd pair<double,double> #define pdi pair<double,int> #define mp(u,v) make_pair(u,v) #define sz(a) (int)a.size() #define ull unsigned long long #define ll long long #define pb push_back #define PI acos(-1.0) #define qc std::ios::sync_with_stdio(false) #define db double #define all(a) a.begin(),a.end() const int mod = 1e9+7; const int maxn = 2e2+5; const double eps = 1e-6; using namespace std; bool eq(const db &a, const db &b) { return fabs(a - b) < eps; } bool ls(const db &a, const db &b) { return a + eps < b; } bool le(const db &a, const db &b) { return eq(a, b) || ls(a, b); } ll gcd(ll a,ll b) { return a==0?b:gcd(b%a,a); }; ll lcm(ll a,ll b) { return a/gcd(a,b)*b; } ll kpow(ll a,ll b) {ll res=1;a%=mod; if(b<0) return 1; for(;b;b>>=1){if(b&1)res=res*a%mod;a=a*a%mod;}return res;} ll read(){ll x=0,f=1;char ch=getchar();while (ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while (ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f; } int n,m,s,t,tot; int b[maxn*maxn],c[maxn*maxn],in[maxn],out[maxn]; int pre[maxn],dis[maxn]; int q[maxn],l,r; struct edge{int v,w,nt; }e[maxn*maxn]; void init(){tot = 0;mt(pre,-1);mt(in,0);mt(out,0); } void addedge(int u,int v,int w){e[tot].v=v;e[tot].w=w;e[tot].nt=pre[u];pre[u]=tot++;e[tot].v=u;e[tot].w=0;e[tot].nt=pre[v];pre[v]=tot++; } bool bfs(){mt(dis,-1);dis[s]=0;l = r = 0;q[r++] = s;while(l<r){int u=q[l++];for(int i=pre[u];~i;i=e[i].nt){int v=e[i].v,w=e[i].w;if(dis[v]==-1&&w>0){dis[v]=dis[u]+1;q[r++] = v;}}}return dis[t]!=-1; } int dfs(int u,int cp){if(u==t||!cp) return cp;int tmp=cp;for(int i=pre[u];~i;i=e[i].nt){int v=e[i].v,w=e[i].w;if(dis[v]==dis[u]+1&&w>0){int tt=dfs(v,min(tmp,w));e[i].w-=tt;e[i^1].w+=tt;tmp-=tt;if(tmp<=0) return cp;}}dis[u]=inf;return cp-tmp; } int dinic(){int ret = 0;while(bfs()) ret+=dfs(s,inf);return ret; } int main(){int u,v;init();scanf("%d%d",&n,&m);rep(i,0,m) scanf("%d%d%d%d",&u,&v,&b[i],&c[i]),addedge(u,v,c[i]-b[i]),in[v] += b[i],out[u] += b[i];s = 0;t = n + 1;int ans = 0;rep(i,1,n+1) if(out[i] - in[i] > 0) addedge(i,t,out[i] - in[i]),ans += out[i] - in[i];else addedge(s,i,in[i] - out[i]);if(ans!=dinic()) return puts("NO"),0;puts("YES");rep(i,0,m) printf("%d\n",b[i] + e[i << 1 | 1].w);return 0; }
View Code
转载于:https://www.cnblogs.com/chinacwj/p/9086779.html
今日SGU 5.25相关推荐
- 今日SGU 5.20
SGU 404 题意:.. 收获:取模 #include<bits/stdc++.h> #define de(x) cout<<#x<<"="& ...
- 今日头条 8.25 双生词
题目 #include <iostream> #include <map> #include <string>using namespace std;int sha ...
- 第25版 OpenStack Yoga 已发布
OpenStack社区今日正式发布第25版-Yoga,该版本通过支持先进的硬件技术如SmartNIC DPUs,优化与云原生软件如Kubernetes.Prometheus等的集成以及减少技术债等方式 ...
- oracle昨日时间,。。今日,昨日,上周,本月,本年,按时间统计总金额
"本月 102", 这是错的你少加了"10 7 41 2009-1-5 16:26:39"这条数据! 结果具体如下: ...
- 倒数日电脑版_应用日报|iOS 或更名为 iPhoneOS,倒数日 Mac 版上线限时免费
今日推荐 倒数日 · Days Matter for Desktop 免费,macOS · 86 MB 倒数日· Days Matter 是 iOS 端非常经典的应用,今天它的 Mac 版本上线,限时 ...
- 腾讯回应“被骗”;黄峥卸任拼多多 CEO;Firefox 78 发布 | 极客头条
整理 | 屠敏 头图 | CSDN 下载自东方 IC 快来收听极客头条音频版吧,智能播报由出门问问「魔音工坊」提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极 ...
- 3月12日公开短线黑马牛股请点击验证
03月12日星期×××开验证的股票是:(000033)新都酒店(会员11日9:44分7.7元建仓介入)(002141)蓉胜超微(会员11日9:38分11.18元建仓介入)(000532)力合股份(会员 ...
- 专门画像素图的软件_新世纪像素画设计软件,你值得一试!
哟,大家好,我是骼灵桑桑哟.这一次的文章主角便是我们手机玩家最受欢迎的像素游戏之一"元气骑士".好!问题来了,为什么?这一次的文章我会提到元气骑士呢?而我这次文章的标题又为何取名为 ...
- 道通转债,微芯转债,博22转债上市价格预测
道通转债 基本信息 转债名称:道通转债,评级:AA,发行规模:12.8亿元. 正股名称:道通科技,今日收盘价:32.85,转股价格:34.73. 当前转股价值 = 转债面值 / 转股价格 * 正股价格 ...
最新文章
- 手把手教你上手python库pydbgen(附代码、安装地址)
- JDBC与mysql同为CST时区导致数据库时间和客户端时间差13或者14小时
- 检测代码区校验和实现简易反调试
- Java 的toString() 和 equals()函数简单介绍
- windows 访问linux中的mongodb,MongoDB的linux系统下的安装与连接
- 2020年快手短视频直播电商营销增长宝典
- Genome Research封面文章|张勇课题组开发方法绘制胚胎发育早期转录因子结合位点图谱...
- Mac不能进入休眠状态?怎么解决
- liunx中安装软件的几种方式
- 银联的bankall_gmc银联接口开发demo
- python爬取网站大数据_[Python]爬虫抓取大数据职位数据
- (226)FPGA入门推荐书籍
- shineblink BH1750光照强度传感器
- 别样的风景——韦应物《滁州西涧》赏析
- Emoji 的处理 - 使用正则表达式匹配所有 Emoji表情
- Webpack经典入门
- 每个程序员都应该了解的内存知识(2)-CPU caches
- 【机器学习】代价函数,损失函数,目标函数区别
- 一款公历转农历节气以及天干地支的js代码
- 日常所用的耳机接口定义
热门文章
- mysql server 5.6使用_关于MySQLServer5.6配置问题
- spring事务-说说Propagation及其实现原理
- 影响线型缩聚物分子量的因素_【CRPS】通过硼烷引发剂实现氧气引发的超高分子量聚合物的可控合成...
- 二进制的mysql怎么装_使用二进制演示MySQL安装步骤
- mysql数据库的字符集设置_mysql数据库字符集设置
- pycharm 远程调试图文_Pycharm配置远程调试的图文步骤
- Vue_双向绑定解析以及指令介绍
- 参加第十六届全国大学生智能车竞赛广东省报名队伍
- Seeduino XIAO开发板安装Arduino软件包以及USB串口驱动
- 第十六届全国大学生智能车竞赛-航天智慧物流创意组-技术培训