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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

[USACO11NOV]牛的障碍Cow Steeplechase(匈牙利算法)

發(fā)布時(shí)間:2025/7/25 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [USACO11NOV]牛的障碍Cow Steeplechase(匈牙利算法) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

洛谷傳送門

題目描述:

給出N平行于坐標(biāo)軸的線段,要你選出盡量多的線段使得這些線段兩兩沒有交點(diǎn)(頂點(diǎn)也算),橫的與橫的,豎的與豎的線段之間保證沒有交點(diǎn),輸出最多能選出多少條線段。

?

因?yàn)闄M的與橫的,豎的與豎的沒有交點(diǎn),所以直接把相交的線段相連,然后肯定是個(gè)二分圖。

選出多少個(gè)線段,就是求二分圖的最大獨(dú)立集,等于節(jié)點(diǎn)數(shù)(N) - 最大匹配數(shù)。

由于線段的4個(gè)坐標(biāo)太大?(X1_i, Y1_i) and (X2_i, Y2_i) (1 <= X1_i, Y1_i, X2_i, Y2_i <= 1,000,000,000),不能用二維矩陣來記錄。

又看到線段數(shù)量很少?(1 <= N <= 250),所以可以用結(jié)構(gòu)體來存,然后通過兩重循環(huán)判斷線段是否相連。

——代碼

1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 5 using namespace std; 6 7 int n, lh, ll, cnt, sum; 8 int next[62501], to[62501], head[251], g[251]; 9 bool vis[251]; 10 struct node 11 { 12 int pos, minn, maxx; 13 }h[10001], l[10001]; 14 15 void add(int x, int y) 16 { 17 to[cnt] = y; 18 next[cnt] = head[x]; 19 head[x] = cnt++; 20 } 21 22 bool check(int i, int j) 23 { 24 if(h[i].pos < l[j].minn || h[i].pos > l[j].maxx) return 0; 25 if(l[j].pos < h[i].minn || l[j].pos > h[i].maxx) return 0; 26 return 1; 27 } 28 29 bool find(int u) 30 { 31 int i, v; 32 for(i = head[u]; i != -1; i = next[i]) 33 { 34 v = to[i]; 35 if(!vis[v]) 36 { 37 vis[v] = 1; 38 if(!g[v] || find(g[v])) 39 { 40 g[v] = u; 41 return 1; 42 } 43 } 44 } 45 return 0; 46 } 47 48 int main() 49 { 50 int i, j, x1, y1, x2, y2; 51 scanf("%d", &n); 52 memset(head, -1, sizeof(head)); 53 for(i = 1; i <= n; i++) 54 { 55 scanf("%d %d %d %d", &x1, &y1, &x2, &y2); 56 if(x1 == x2) 57 { 58 ++lh; 59 h[lh].pos = x1; 60 h[lh].minn = min(y1, y2); 61 h[lh].maxx = max(y1, y2); 62 } 63 else if(y1 == y2) 64 { 65 ++ll; 66 l[ll].pos = y1; 67 l[ll].minn = min(x1, x2); 68 l[ll].maxx = max(x1, x2); 69 } 70 } 71 for(i = 1; i <= lh; i++) 72 for(j = 1; j <= ll; j++) 73 if(check(i, j)) 74 add(i, j); 75 for(i = 1; i <= lh; i++) 76 { 77 memset(vis, 0, sizeof(vis)); 78 if(find(i)) sum++; 79 } 80 printf("%d", n - sum); 81 return 0; 82 } View Code

?

轉(zhuǎn)載于:https://www.cnblogs.com/zhenghaotian/p/6702200.html

總結(jié)

以上是生活随笔為你收集整理的[USACO11NOV]牛的障碍Cow Steeplechase(匈牙利算法)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: porn麻豆 | 少妇高潮21p | 黄色一级录像片 | 在线播放黄色网址 | 青娱乐在线播放 | 波多野结衣喷潮 | 少妇高潮网站 | 亚洲色精品三区二区一区 | 久久影院国产 | 一边吃奶一边摸做爽视频 | 日本污网站 | 亚欧日韩 | 国产精品一区2区 | 日本一区二区三区在线观看视频 | 久久99国产精品久久99 | mm1313亚洲国产精品无码试看 | 九九九九九精品 | 久久九九国产 | 影音先锋久久久 | 中文字幕伦理 | 肮脏的交易在线观看 | 就爱啪啪网 | 毛片内射久久久一区 | 91视频观看 | 青娱乐在线播放 | 六月丁香在线视频 | 欧美成人三级在线 | 牛牛影视一区二区 | 日本美女性爱视频 | 亚洲色图.com | 亚洲v欧美| 中国av免费| 国产精品国产三级国产aⅴ9色 | 久久久久久久久艹 | 91浏览器在线观看 | 欧美成人高清在线 | 超碰激情| 国产日韩一区二区三免费高清 | v片在线看| 国产一区二区免费电影 | 亚洲毛片一区二区三区 | 男人的天堂在线 | 在线播放亚洲精品 | 色五婷婷| 国产精品一二三四区 | 亚洲一片 | 日韩在线不卡 | 国产精品久久久久久福利 | 国产成人福利视频 | 精品视频不卡 | 亚洲视频在线免费播放 | 亚洲视频自拍偷拍 | 日本爽爽| 午夜精品久久久久久毛片 | 欧美一线天 | 午夜在线观看视频网站 | 四季av一区二区夜夜嗨 | 日韩精品视频免费 | 国产精品3区 | 日本xx片| 久久精品视频偷拍 | 91人人澡人人爽人人精品 | 国内久久精品 | 久久久久婷 | 色婷婷婷婷色 | 精品人妻久久久久一区二区三区 | 国产美女福利视频 | 性高潮网站 | 欧美一级无毛 | 日韩不卡一区 | 蜜桃久久久aaaa成人网一区 | 手机看片午夜 | 国产精品视频一二三 | 国产成人av在线播放 | 亚洲激情偷拍 | 日韩欧美字幕 | 91热久久 | 亚洲911精品成人18网站 | 亚洲av乱码久久精品蜜桃 | 大尺度在线观看 | 国产精品久久久一区二区三区 | 亚洲成人午夜影院 | 欧美精品久久久久久久免费 | 在线免费观看a级片 | 免费国产一级 | 国产不卡免费视频 | 黑名单上的人全集免费观看 | 国产精品免 | 中文字幕自拍 | 国产精品宾馆在线精品酒店 | 网站av| 无码一区二区精品 | 精品国产无码一区二区 | 四虎午夜 | 精品国产一区二区三区久久 | 人妻久久久一区二区三区 | 一区在线视频 | 青青草精品在线 | 99视频国产精品免费观看a |