BZOJ 4429 小學數學 最大匹配 離散化

2021-08-08 23:08:19 字數 837 閱讀 9998

這種多對一的選擇問題一般都是二分圖,這道題也顯然,只需要把三種運算的結果離散化一下跑乙個hungary就好了,奇怪的是這麼大的資料還可以好的這麼快。。。

#include

#include

#include

#include

#include

using namespace std;

const int maxn=25005;

struct edge

e[maxn];

pairq[maxn];

int n,cnt,t;

long long disc[maxn];

int head[maxn],vst[maxn],match[maxn];

void insert(int a,int b)

bool find(int

x) }

return false;

}void print(int i,long long val)

int main()

sort(disc+1,disc+cnt+1);

cnt=unique(disc+1,disc+cnt+1)-(disc+1);

for(int i=1;i<=n;i++)

for(int i=1;i<=cnt;i++)

t=i,find(i);

for(int i=1;i<=n;i++)if(!match[i])

for(int i=1;i<=n;i++)

print(i,disc[match[i]]);

return0;}

home back

小學數學題

小學數學題1 usetyp 1 目標 擷取字串usetyp 注意,usetyp的長度是可變的 問題 求以上字串usetyp的長度 注意usetyp的長度是不固定 設usetyp的長度 p 已知1 號的索引位置x indexof 已知理論2 字串長度 最大索引 1 所以,p x 1 3 p x 2 所...

小學數學公式

和 差 2 大數 和 差 2 小數 和 倍數 1 小數小數 倍數 大數 或者 和 小數 大數 差 倍數 1 小數小數 倍數 大數 或 小數 差 大數 封閉線路上的植樹問題的數量關係如下株數 段數 全長 株距全長 株距 株數株距 全長 株數 盈 虧 兩次分配量之差 參加分配的份數 大盈 小盈 兩次分配...

小學數學開燈問題 小學數學 抽屜原理(鴿巢問題)

假如有4只鴿子,要飛回3個巢穴,會出現什麼情況呢?我們先做 最壞的打算 每個巢穴飛入1只鴿子,剩下的鴿子無論飛入哪乙個巢穴,總有1個巢穴至少有2只鴿子。假如有三個抽屜,媽媽買回4個蘋果,讓你把蘋果放進三個抽屜中,會出現哪些情況呢?我們可以先把4分為幾個整數的和,則有如下四種情況 4 4 0 0 4 ...