日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1669 DINIC+二分

發布時間:2025/6/17 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1669 DINIC+二分 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
? ? ? 給你一些名單,和每個名單可以放在哪個分組里,現在要求你把所有的人都分到一個他屬于的分組(之一),然后問你分組中最多的那個人數最少是多少...


思路:
? ? ?二分最多的最少,然后用最大流去判斷分組是否合理,建圖如下
? ? ?? ??
? ? s 到 所有人連一條邊 流量是1
? ? 所有分組 到 t 連一條邊,流量是mid
? ? 然后把所有人和自己屬于的分組連邊,流量1
? ??
? ? 跑一邊最大流,如果答案等于 N(人數) 那么當前二分滿足

? ? up = mid - 1 ........


#include<stdio.h> #include<string.h> #include<queue>#define N_node 1500 + 50 #define N_edge 2000000 + 10000 #define INF 1000000000 using namespace std;typedef struct {int to ,next ,cost; }STAR;typedef struct {int x ,t; }DEP;typedef struct {int a ,b; }EDGE;STAR E[N_edge]; DEP xin ,tou; EDGE edge[N_edge]; int list[N_node] ,tot; int list1[N_node]; int deep[N_node]; char str[1000000];void add(int a ,int b ,int c) {E[++tot].to = b;E[tot].cost = c;E[tot].next = list[a];list[a] = tot;E[++tot].to = a;E[tot].cost = 0;E[tot].next = list[b];list[b] = tot; }int minn(int x ,int y) {return x < y ? x : y; }bool BFS_deep(int s ,int t ,int n) {memset(deep ,255 ,sizeof(deep));xin.x = s;xin.t = 0;deep[s] = 0;queue<DEP>q;q.push(xin);while(!q.empty()){tou = q.front();q.pop();for(int k = list[tou.x] ;k ;k = E[k].next){xin.x = E[k].to;xin.t = tou.t + 1;if(!E[k].cost || deep[xin.x] != -1)continue;deep[xin.x] = xin.t;q.push(xin);}}for(int i = 0 ;i <= n ;i ++)list1[i] = list[i];return deep[t] != -1; }int DFS_flow(int s ,int t ,int flow) {if(s == t) return flow;int nowflow = 0;for(int k = list1[s] ;k ;k = E[k].next){list1[s] = k;int to = E[k].to;int c = E[k].cost;if(deep[to] != deep[s] + 1 || ! E[k].cost)continue;int tmp = DFS_flow(to ,t ,minn(c ,flow - nowflow));nowflow += tmp;E[k].cost -= tmp;E[k^1].cost += tmp;if(nowflow == flow) break;}if(!nowflow) deep[s] = 0;return nowflow; }int DINIC(int s ,int t ,int n) {int ans = 0;while(BFS_deep(s ,t ,n)){ans += DFS_flow(s ,t ,INF);}return ans; }bool ok(int mid ,int tt ,int n ,int m) {memset(list ,0 ,sizeof(list));tot = 1;int i;for(i = 1 ;i <= n ;i ++)add(0 ,i ,1);for(i = 1 ;i <= m ;i ++)add(n + i ,n + m + 1 ,mid);for(i = 1 ;i <= tt ;i ++)add(edge[i].a ,edge[i].b + n ,1);return DINIC(0 ,n + m + 1 ,n + m + 1) == n; }int main () {int n ,m ,i ,j;while(~scanf("%d %d" ,&n ,&m) && n + m){getchar();int tt = 0;for(i = 1 ;i <= n ;i ++){gets(str);int l = strlen(str) - 1;j = 0;while(str[j] != ' ')j++;int num = 0;for(j++ ;j <= l ;j ++){if(str[j] == ' '){edge[++tt].a = i;edge[tt].b = num + 1;num = 0;continue;}num = num * 10 + str[j] - 48;}edge[++tt].a = i;edge[tt].b = num + 1;}int low ,up ,mid;low = 0 ,up = n;int ans;while(low <= up){mid = (low + up) >> 1;if(ok(mid ,tt ,n ,m)){ans = mid;up = mid - 1;}elselow = mid + 1;}printf("%d\n" ,ans);}return 0; }



總結

以上是生活随笔為你收集整理的1669 DINIC+二分的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 丁香五香天堂 | 日韩色黄大片 | 国产美女流白浆 | 欧美日韩精品网站 | 华丽的外出在线观看 | 久久精品一区二区三区四区 | 黄色一级片在线免费观看 | www.国产精品.com | 国产精品无码天天爽视频 | 在线观看国产一级片 | 天天操夜夜夜 | 国产乱人视频 | 日韩另类av | 国产91色在线 | 日韩a在线| 香港三级在线视频 | 亚洲av无码一区二区二三区 | 深爱五月综合网 | 波多野结衣一本一道 | 国产乱码精品一区二区三区亚洲人 | 久久av一区二区三区 | 欧美日韩亚洲色图 | 欧美色悠悠 | 高潮爽爆喷水h | 国产色综合网 | 在线视频这里只有精品 | 国产欧美日韩精品一区二区三区 | 欧美变态绿帽cuckold | 精品国产中文字幕 | 国产一级片毛片 | 东方伊甸园av在线 | 99这里精品 | 国产黄色小视频在线观看 | 久久久久久久综合色一本 | 欧美性猛交xxxx乱 | 欧美精品国产 | 国产夫妻自拍小视频 | 中文字幕一区二区三区四区视频 | 九色porn | 2019日韩中文字幕 | 少妇高潮露脸国语对白 | 欧美性猛交xxxx免费看久久久 | 久久免费看少妇高潮v片特黄 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 武侠古典av | 亚洲av永久一区二区三区蜜桃 | 日韩精品视频在线 | 深夜影院在线观看 | 国产精品刘玥久久一区 | 亚洲操一操| 人妖ts福利视频一二三区 | 免费操 | 高h在线观看 | 蜜桃视频一区二区在线观看 | 日本免费毛片 | 99免费视频 | 三级黄色短视频 | 女十八毛片 | 黄色大尺度视频 | 男人的网站在线观看 | 成人三级黄色片 | 777精品| 成年人免费黄色片 | 成人黄色视屏 | 日日草视频 | 玉势 (1v1 高h) | 成人av在线网 | 亚洲午夜精品久久久久久人妖 | 成人动漫在线免费观看 | v片在线看| 日韩精品一区二区不卡 | 第一页国产 | 国产91高清 | 一区二区三区www污污污网站 | 激情文学综合网 | 伊人久久一区二区三区 | 国产成人av一区二区三区在线观看 | 好吊色一区二区三区 | 中文字幕无码精品亚洲 | 中文字幕在线播放第一页 | 欧美一卡二卡三卡四卡 | 黄色av网站免费在线观看 | 2021国产在线视频 | 天天射天天射 | 91看片在线播放 | 美女视频黄免费 | 国产精品污www一区二区三区 | 操极品美女 | 99色国产 | 精品国产va久久久久久久 | 国产伦精品一区二区三区千人斩 | 亚洲天堂影院在线观看 | 欧美成人hd| 天堂网在线最新版www中文网 | 日韩欧美视频在线免费观看 | 色又色| 国产精品一区二区黑人巨大 | 欧美久久精品一级黑人c片 1000部多毛熟女毛茸茸 | 强迫凌虐淫辱の牝奴在线观看 |