国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 商河县| 新闻| 北辰区| 留坝县| 土默特右旗| 惠东县| 赣州市| 丽水市| 三门峡市| 顺义区| 裕民县| 晋中市| 梨树县| 广河县| 祁连县| 开阳县| 华阴市| 四会市| 鲁山县| 武乡县| 宜章县| 陕西省| 临邑县| 麟游县| 桓仁| 洪泽县| 平顶山市| 鲁甸县| 阜康市| 科技| 义乌市| 松阳县| 黔西| 共和县| 岳池县| 镇平县| 白河县| 莲花县| 江门市| 夏河县| 阿克|