luogu P2071 座位安排

2022-04-10 03:57:20 字數 537 閱讀 2739

這個題可以被分為兩部分

1.匈牙利演算法(板子)

2.鄰接表存圖(好像這不能稱為第二部分)

每一排能坐兩個人,那就把一排拆成兩個點,

用匈牙利演算法求最大匹配

每個人都只想坐兩排,說明每個人只會連四條邊

如果不會匈牙利的請點這裡

#includeusing

namespace

std;

const

int n = 5100

;int link[n]=,cnt[n]=,w[n][n];

bool

used[n];

int ans=0

,n;int

x,y;

bool find(int

x) }

}return

false;}

void

xyl()

}int

main()

xyl();

cout

}

luogu P2071 座位安排

已知車上有n排座位,有n 2個人參加省賽,每排座位只能坐兩人,且每個人都有自己想坐的排數si1和si2,問最多使多少人坐到自己想坐的位置。題目 並木有坑人,這題就是乙個二分圖的最大匹配,一邊放人,一邊放座位的排數,注意對於乙個座位是可以承載2個人的,所以乙個人i應該可以在作為si1和si2中分別有2...

洛谷P2071 座位安排

座位安排 二分圖,人為左部點,座位為右部點,由於每個座位可以坐兩個人,所以把每個座位拆成兩個點 i 和 i n 如果乙個人想去這個座位則向這兩個點連邊,跑匈牙利即可。include define n 100000 5 using namespace std inline int read while...

數學 AOJ 614 座位安排

description 宣講會上有連續編號為1.n的n個座位,每個座位只能坐乙個人,有n個人,學校有m個不同專業,如果相鄰座位的同學的專業相同,就會發生悄悄話現象,求有多少種情況可能發生悄悄話現象。不一定每個專業都有人來 input 輸入包括多組資料,以檔案 eof 結束。每組測試資料兩個整數n 1...