Hall定理 獎章

2021-10-11 04:58:35 字數 1642 閱讀 9800

n

nn個人上工,第i

ii個人連續工作a

ia_i

ai​天,休息a

ia_i

ai​天

每天可以給乙個上工的人發獎章,求給每個人發k

kk個獎章需要的最少天數

大家看到這道題第一反應就去lcm了

結果這道題二分圖qwq

複製k

kk份工人,每個點與所有能上工的天匹配

如果有完美匹配,則這個天數合法

顯然這個天數可以二分

想到hall定理一句廢話

二分圖存在最大完備匹配的充要條件是某一側任意k

kk個點與另一側相連的點數≥

k\ge k

≥k對於每一天,預處理出它連向的人,發現n

nn很小,可以狀壓

二分有上界3nk

3nk3n

k 考慮如何使用hall定理

有乙個工人集合,共i

ii人,那麼若至少有k×i

k\times i

k×i天與之配對則合法

顯然這個並集不易求,考慮德 · 摩根定理轉化

求哪些天沒有這些工人,取交集,補集過去得到有工人的天數

採用桶求這個交集

預處理:[1,

mid]

[1,mid]

[1,mid

]天每天的工人集合子集天數都為1

求交集:列舉每個工人,列舉每個集合,直接相加

hall定理簡介

二分圖g

gg的兩個點集稱為x,y

x,yx,

y假設∣x∣

<∣y

∣|x|<|y|

∣x∣<∣y

∣,則一組完美匹配為x

xx的完全匹配

設∀ w∈

x\forall w\in x

∀w∈x

,y

yy中與w

ww有連邊的點集稱為f(w

)f(w)

f(w)

則一定有∣w∣

≤∣f(

w)

∣|w|\le |f(w)|

∣w∣≤∣f

(w)∣

這是乙個較弱的結論

但是hall定理的推論是乙個很強的結論

二分圖最大匹配數為∣x∣

−max⁡∀

w∈

x|x|-\max_\

∣x∣−

max∀w∈

x​

#include

using

namespace std;

#define in read()

int in

const

int n=19;

const

int k=

1e5+5;

const

int m=n*k*3;

int n,k,m,a[n]

;int work[m]

,one[

1<,cnt[

1<;bool

check

(int mid)

intmain()

printf

("%d\n"

,ans)

;return0;

}

Hall定理小記

hall定理 一張二分圖有完美匹配 即最大匹配為 min 當且僅當任意乙個點集 x 所有能直接到達的點集 y 所組成的匯出子圖有完美匹配 推論 一張二分圖的最大匹配為 min y 有 n 個班級 n leq 2 times 10 5 每個班級有 a i 名學生,該班共生產 b i 杯奶茶,每個學生只...

關於Hall定理的學習

hall 定理是二分圖匹配的相關定理 用於判斷二分圖是否存在完美匹配 存在完美匹配的二分圖即滿足最大匹配數為 min x y 的二分圖,也就是至少有一邊的點全部被匹配到了 設 m u 為與 u 中的點相連的點集,乙個二分圖 u,v u v 存在完美匹配,滿足對於任意點集 x u 都有 m x x 連...

bzoj3693 圓桌會議(Hall定理 線段樹)

題解 傳送門 要求任意子集均滿足,我們考慮對於每乙個區間 p,q 顯然只有q ri時這個區間才有詢問的意義,同時我們也有p lj 所有 l,r 在 p,q 之內的a的和s應滿足s q p 1即s p 1 q,否則一定不滿足hall定理。於是我們把所有的區間按r公升序排列,考慮列舉q,維護p lj時的...