BZOJ 1854 SCOI 2010 遊戲 二分圖最大匹配
題目大意:現在要打一個BOSS,一個人有n個武器,一個武器有兩個屬性值,但是一個武器只能攻擊一次。這個BOSS需要從1連續遞增輸出,問輸出的最大值為多少。
思路:以前好像做過一個相似的問題,也是這麼做的,哪個忘了。。
很明顯的二分關係是攻擊力和武器,因為一個攻擊力需要攻擊一次,一個武器只能攻擊一次,然後武器和攻擊力之間連邊,從1開始匹配,什麼時候不能匹配了就輸出。
memset會T的,時間戳大法好。
CODE:
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define MAX 1010010 #define BASE 10001 using namespace std; int cnt; int head[MAX],total; int next[MAX << 1],aim[MAX << 1]; int paired[MAX]; int v[MAX],T; inline void Add(int x,int y) { next[++total] = head[x]; aim[total] = y; head[x] = total; } bool Hungary(int x) { for(int i = head[x]; i; i = next[i]) if(v[aim[i]] != T) { v[aim[i]] = T; if(!paired[aim[i]] || Hungary(paired[aim[i]])) { paired[aim[i]] = x; return true; } } return false; } int main() { cin >> cnt; for(int x,y,i = 1; i <= cnt; ++i) { scanf("%d%d",&x,&y); Add(x,i + BASE); Add(y,i + BASE); } for(int i = 1; i <= BASE; ++i) { ++T; if(!Hungary(i)) { cout << i - 1 << endl; return 0; } } return 0; }
相關推薦
BZOJ 1854 SCOI 2010 遊戲 二分圖最大匹配
題目大意:現在要打一個BOSS,一個人有n個武器,一個武器有兩個屬性值,但是一個武器只能攻擊一次。這個BOSS需要從1連續遞增輸出,問輸出的最大值為多少。 思路:以前好像做過一個相似的問題,也是這麼做的,哪個忘了。。 很明顯的二分關係是攻擊力和武器,因為一個攻擊力需要攻擊
BZOJ 1854 SCOI2010 遊戲 二分圖最大匹配/並查集
題目大意:給定n個武器,每個武器有兩個屬性,只能使用其中一個,要求選擇一些武器 可以造成形如1 2 3 4的傷害 求最大傷害 題目大意我沒寫明白還是去看原題把QAQ 做法1: 同 1191 每個武器向兩個屬性連邊 然後從1~10000列舉屬性 跑二分圖最大匹配 無法匹配則輸
HDU 1281 - 棋盤遊戲 - [二分圖最大匹配]
鏈接 ems 枚舉 一個 輸入 string ima () have 題目鏈接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1281 Time Limit: 2000/1000 MS (Java/Others) Memor
BZOJ-4950: [Wf2017]Mission Improbable (二分圖最大匹配)
尺寸 inpu ron nbsp load stat esc set 所在 4950: [Wf2017]Mission Improbable Time Limit: 1 Sec Memory Limit: 1024 MBSubmit: 195 Solved: 90[S
HDU1281 棋盤遊戲 —— 二分圖最大匹配 + 枚舉
mage 技術 bottom sub .html 攻擊 ava string ostream 題目鏈接:https://vjudge.net/problem/HDU-1281 棋盤遊戲 Time Limit: 2000/1000 MS (Java/Others)
bzoj 1059: [ZJOI2007]矩陣遊戲 [二分圖][二分圖最大匹配]
sam auto round 包含 bool edge port void 最大 Description 小Q是一個非常聰明的孩子,除了國際象棋,他還很喜歡玩一個電腦益智遊戲——矩陣遊戲。矩陣遊戲在一個N *N黑白方陣進行(如同國際象棋一
【bzoj 1854】[Scoi2010]遊戲 二分圖匹配
http://blog.csdn.net/pbihao/article/details/52835849 額,感覺像是一道題改一下就好了 #include<cstdio> #inclu
Bzoj 4950 (二分圖最大匹配)
void ide 機會 出現 geo front 老朋友 放置 scrip Description 那是春日裏一個天氣晴朗的好日子,你準備去見見你的老朋友Patrick,也是你之前的犯罪同夥。Patrick在編程競賽 上豪賭輸掉了一大筆錢,所以他需要再幹一票。為此他需要你
洛谷P2774 方格取數問題 BZOJ 1143祭祀river【二分圖最大獨立集】
網絡 方格取數 == 二分圖最大獨立集 ostream pro 就會 最大流 HR 講解前首先引入兩個概念 二分圖最小點覆蓋集 定義: 在二分圖中求出一個最小點集 使得圖中任意一條邊至少有一個端點在點集內 解法: 對二分圖進行最大匹配 最大匹配數就是二分圖的最小點覆蓋集包含
bzoj-1191(二分圖最大匹配)
max () int visit div define true esp cout 解題思路:比較裸的一道題,直接跑匈牙利就行了,但是要註意一點,這個兔崽子是在闖關,一道題回答不出來就沒了,直接在題目循環那裏加一個else break;就行了!!!; #include&l
【BZOJ1059】矩陣遊戲(二分圖最大匹配)
set 交換 tdi namespace 顏色 pac 連線 include amp 題意:矩陣遊戲在一個N*N黑白方陣進行。每次可以對該矩陣進行兩種操作: 行交換操作:選擇矩陣的任意兩行,交換這兩行(即交換對應格子的顏色) 列交換操作:選擇矩陣的任意行列,交換這兩列(即交
[BZOJ]4950 二分圖 + 最大匹配
那是春日裡一個天氣晴朗的好日子,你準備去見見你的老朋友Patrick,也是你之前的犯罪同夥。Patrick在程式設計競賽上豪賭輸掉了一大筆錢,所以他需要再幹一票。為此他需要你的幫助,雖然你已經金盆洗手了。你剛開始很不情願,因為你一點也不想再回到那條老路上了,但是你覺得聽一下他的計劃也無傷大雅。在附近的一個倉庫
[bzoj1854][Scoi2010]遊戲(並查集/二分圖最大匹配)
#include<cstdio> #include<algorithm> #include<cmath> #include<cstdlib> #i
[BZOJ]3140 二分圖最大匹配
3140: [Hnoi2013]消毒 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1339 Solved: 588 [Submit][Status][Discuss] Description 最近在生物實驗室工作
【SCOI2010】【二分圖最大匹配】遊戲
這道題很明顯的二分圖模型,但是建圖是關鍵。 將一件武器的兩個屬性看作二分圖左邊的點,然後把這兩個點與要攻擊的點連兩條邊。 這樣原問題就轉化為了在一個二分圖上從小到大地找增廣路,一旦未找到增廣路,那此時
[二分圖最大匹配必配點] BZOJ 3546 [ONTAK2010]Life of the Party
#include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #define cl(x) memset(x,0,sizeof(x)) #d
BZOJ 4950 [Wf 2017] 二分圖最大匹配 解題報告
Description 那是春日裡一個天氣晴朗的好日子,你準備去見見你的老朋友Patrick,也是你之前的犯罪同夥。Patrick在程式設計競賽上豪賭輸掉了一大筆錢,所以他需要再幹一票。為此他需要你的幫助,雖然你已經金盆洗手了。你剛開始很不情願,因為你一點也不
bzoj 1143:[CTSC2008]祭祀river 二分圖最大獨立集
在遙遠的東方,有一個神祕的民族,自稱Y族。他們世代居住在水面上,奉龍王為神。每逢重大慶典, Y族都 會在水面上舉辦盛大的祭祀活動。我們可以把Y族居住地水系看成一個由岔口和河道組成的網路。每條河道連線著 兩個岔口,並且水在河道內按照一個固定的方向流動。顯然,水系中不會有環流(下圖描述一個環流的例子)。
[POJ2446] Chessboard(二分圖最大匹配-匈牙利算法)
con clas sed img find span ble names printf 傳送門 把所有非障礙的相鄰格子彼此連一條邊,然後求二分圖最大匹配,看 tot * 2 + k 是否等於 n * m 即可。 但是連邊不能重復,比如 a 格子 和 b 格子 相鄰
POJ1469 COURSES 【二分圖最大匹配·HK算法】
pri number break integer iss pre win rop find COURSES Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 17777 Acce