HDU 3729 二分圖匹配
題意:每個學生說自己的排名在一個區間,然後老師想知道說真話的學生最多是多少,並將說實話的學生按字典序最大輸出
思路:簡單的匈牙利二分圖匹配,因為需要字典序最大,所以在匹配的時候要先滿足人的序號大的先匹配
#include <vector> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostream> #include <algorithm> using namespace std; typedef long long ll; typedef unsigned long long ull; const int inf=0x3f3f3f3f; const ll INF=0x3f3f3f3f3f3f3f3fll; const int maxn=100010; int match[maxn]; vector<int>G[70]; int used[maxn],vis[70]; bool dfs(int v){ for(unsigned int i=0;i<G[v].size();i++){ int u=G[v][i]; if(used[u]==-1){ used[u]=1; if(match[u]==-1||dfs(match[u])){ match[u]=v; vis[v]=u; return 1; } } } return 0; } int slove(int n){ int res=0; memset(match,-1,sizeof(match)); for(int v=n;v>=1;v--){ memset(used,-1,sizeof(used)); if(dfs(v)) res++; } return res; } int main(){ int T,n,a,b; scanf("%d",&T); while(T--){ scanf("%d",&n); for(int i=0;i<=n;i++) G[i].clear(),vis[i]=0; for(int i=1;i<=n;i++){ scanf("%d%d",&a,&b); for(int j=a;j<=b;j++) G[i].push_back(j); } int ans=slove(n); printf("%d\n",ans); for(int i=1;i<=n;i++){ if(vis[i]){ if(ans==1) printf("%d\n",i); else printf("%d ",i); ans--; } } } return 0; }
相關推薦
HDU 3729 二分圖匹配
題意:每個學生說自己的排名在一個區間,然後老師想知道說真話的學生最多是多少,並將說實話的學生按字典序最大輸出 思路:簡單的匈牙利二分圖匹配,因為需要字典序最大,所以在匹配的時候要先滿足人的序號大的先
過山車 HDU 2063 (二分圖匹配裸題)
onos rpg main algo col maps 而且 dfs out Problem Description RPG girls今天和大家一起去遊樂場玩,終於可以坐上夢寐以求的過山車了。可是,過山車的每一排只有兩個座位,而且還有條不成文的規矩,就是每個女生必須找個
Land of Farms HDU - 5556 二分圖匹配
Farmer John and his brothers have found a new land. They are so excited and decide to build new farms on the land. The land is a rectangle and consists o
Girls and Boys HDU - 1068 二分圖匹配(匈牙利)+最大獨立集證明
最大獨立集證明參考:https://blog.csdn.net/qq_34564984/article/details/52778763 最大獨立集證明: 上圖,我們用兩個紅色的點覆蓋了所有邊。我們證明的前提條件是已經達到最小覆蓋。 即條件
Girls and Boys HDU - 1068 二分圖匹配(匈牙利)+最大獨立集證明
fin include while ++ .net 覆蓋數 article c++ 無法 最大獨立集證明參考:https://blog.csdn.net/qq_34564984/article/details/52778763 最大獨立集證明: 上圖,我們用
hdu 2444 二分圖匹配
#include<cstdio> #include<cstring> using namespace std; int G[220][220],vis[220],n,m,mat
hdu 3861 The King’s Problem trajan縮點+二分圖匹配
acm ant 二分 scanf title atan size pair city The King’s Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768
HDU 5727 Necklace(全排列+二分圖匹配)
color algorithm target () mark ++ int turn open http://acm.split.hdu.edu.cn/showproblem.php?pid=5727 題意:現在有n個陽珠子和n個陰珠子,現在要把它們串成項鏈,要求是陰陽珠
HDU 2236 無題II(二分圖匹配+二分)
cto family view itl trac note 二分 cli 鏈接 HDU 2236 無題II 題目鏈接 思路:行列僅僅能一個,想到二分圖,然後二
HDU 5727 Necklace ( 2016多校、二分圖匹配 )
tin 進行 clas open cond c++ sin 多校 %d 題目鏈接 題意 : 給出 2*N 顆珠子、有 N 顆是陰的、有 N 顆是陽的、現在要把陰陽珠子串成一個環狀的項鏈、而且要求珠子的放置方式必須的陰陽相間的、然後給出你 M 個限制關系、格式為 ( A、B
HDU 1669 二分圖多重匹配+二分
output rst more div hang title cep -a () Jamie‘s Contact Groups Time Limit: 15000/7000 MS (Java/Others) Memory Limit: 65535/65535 K (J
HDU 2255 二分圖最佳匹配
code sizeof content debug fas 地方 bits lin div 奔小康賺大錢 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T
HDU 3609 二分圖多重匹配
Escape Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 13005
hdu 1045 Fire Net 【二分圖匹配】
進行 col numbers res clu 意思 archive 多少 color <題目鏈接> <轉載於 >>> > 題目大意: 這題意思是給出一張圖,圖中‘X‘表示wall,‘.‘表示空地,可以放置炮臺,同一條直線上只
HDU ~ 4685 ~ Prince and Princess (二分圖匹配(網路流) + 強連通縮點)
題意 T組測試資料,每組先輸入n,m表示有n個王子和m個公主,接下來n行,每行先輸入k表示,第i個王子有K個喜歡的公主,然後輸入這k個公主的編號。每個王子只能和喜歡的妹子結婚,國王要求給他一個表,每個王子可以和幾個公主結婚,按序號升序輸出妹子的編號。這個表應滿足所有的王子最終都
HDU 3829 Cat VS Dog (最大獨立集)【二分圖匹配】
<題目連結> 題目大意: 動物園有n條狗。m頭貓。p個小孩,每一個小孩有一個喜歡的動物和討厭的動物。如今動物園要轉移一些動物。假設一個小孩喜歡的動物在,不喜歡的動物不在,他就會happy。問動物最多能使幾個小孩happy。 解題分析: 因為本題不同的小孩之間喜好可能會產生衝突,所以,要使最
hdu 4685 Prince and Princess (二分圖匹配+tarjan)
There are n princes and m princesses. Princess can marry any prince. But prince can only marry the princess they DO love. For all princes,give all the
HDU 1045 Fire Net 【連通塊的壓縮 二分圖匹配】
題目:http://acm.hdu.edu.cn/showproblem.php?pid=1045 Fire Net Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav
【二分圖匹配】HDU
題意: 給出一張圖,‘X’代表牆,‘.’ 代表空地。在空地上放一些炮塔,炮塔不能處在同一行同一列,除非被牆隔開。問最多能放多少個炮塔。 題解: 這題其實可以二進位制暴力模擬去做,但也可以用二分
hdu 5090 Game with Pearls 二分圖匹配
Problem Description Tom and Jerry are playing a game with tubes and pearls. The rule of the game is: Tom and Jerry come up togeth