国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

[BZOJ2400]Spoj 839 Optimal Marks(最小割)

2019-11-08 02:09:58
字體:
來源:轉載
供稿:網友

題目描述

傳送門

題解

首先考慮如何求出第一問 要求邊權和最小 按位分開考慮,實際上就是讓這一位上的1盡量少 對于每一個點i,如果這一位已經確定,那么0:s->i,inf,1:i->t,inf 對于每一條邊,將兩個端點x,y,x->y,1;y->x,1 這樣跑最小割

據說這樣跑完最小割了之后加一個限流然后跑費用流是可以的 不過有一個非常巧妙的方法能將這兩問的答案一起求出來 同樣按位分開考慮,同樣是想要1盡量少 對于每一個點i,如果這一位已經確定,那么0:s->t,inf,1:i->t,inf;如果這一位沒有確定,那么s->i,1 對于每一條邊,將兩個端點x,y,x->y,n+1;y->x,n+1 這樣跑出來最小割,令x=ans/(n+1),y=ans%(n+1) 可以發(fā)現x即為第一位的答案,也就是邊權和最少個數的1 y的含義即為點權和最少個數的1

代碼

#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>#include<queue>using namespace std;#define LL long long#define N 510#define E 10005#define inf 2000000000int n,m,x,y,Max,s,t,maxflow,cnte,cntv;int val[N],e[N][N];int tot,point[N],nxt[E],v[E],remain[E];int deep[N],cur[N],last[N],num[N];queue <int> q;LL sume,sumv;void addedge(int x,int y,int cap){// 總結

認真讀題md


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 仁怀市| 浦东新区| 临猗县| 南澳县| 绥阳县| 台江县| 广丰县| 绥滨县| 金寨县| 韶关市| 青州市| 盐亭县| 平昌县| 渝北区| 龙门县| 永平县| 崇左市| 高雄县| 莱阳市| 镇宁| 景宁| 万宁市| 淳化县| 巴彦淖尔市| 海口市| 贵定县| 大厂| 札达县| 游戏| 福清市| 铁岭市| 嘉峪关市| 乐清市| 吕梁市| 错那县| 肃宁县| 利津县| 河南省| 岳阳市| 乐至县| 竹山县|