這題zxr神犇當場ak了。。
無限仰慕,用的是zxr神犇的方法,沒有riatre的~
不加通道前時一棵樹,然後根據這個再樹上貪心就好了,反正我是沒想到。。。
view code
1 #include 2 #include 3 #include 4 #include 5 #include 67#define n 111111
8#define m 555555910
using
namespace
std;
1112
intn,m,q,st,ed,cnt;
13int
head[n],next[m],to[m];
14int
out[n],outs[n],in
[n],ins[n],c[n];
15bool
fg;16
17 inline void add(int u,int
v)18
2122 inline void
read()
2331 scanf("
%d%d
",&st,&ed); st++,ed++;
32 outs[ed]=st; ins[st]=ed;
33in[st]++; out[ed]++;
34for(int i=1,a,b;i<=m;i++)
3539
for(int i=1,a,b;i<=q;i++)
4045}46
47 inline void dfs(int u,int
fa)48
59else
if(c[to[i]]==-1)60
64}65if(in[u]>1||out[u]>1)
66 c[u]=in[u]-out
[u];67}
6869 inline void
go()
7073 fg=true
;74 dfs(1,-1
);75
76if(!fg||c[1]!=0)
77for(int i=1;i<=n;i++)
78if(out[i]!=0)79
8485
for(int i=1;i<=n;i++)
86if(out[i]!=0)
87 puts("
possible");
88}8990
intmain()
91
省選模擬賽 project
最小割問題。建如下邊 s,i,ai 代表選用a語言編寫第i個專案 i,t,bi 代表選用a語言編寫第i個專案 其後注意要反向連邊 i,j,d 代表選用b語言編寫第i個專案,選用a語言編寫第j個專案 j,i,c 代表選用a語言編寫第i個專案,選用b語言編寫第j個專案 litc學長出的題,引文最小割題目...
mirror 省選模擬賽
標籤 狀壓dp 結論 當最優情況下,每行每列鏡子的個數都為偶數 題目可以轉化為擺放鏡子,使得格仔中產生的光環最長 所以不需要考慮鏡子到底放什麼方向 於是我們直接狀壓一列鏡子當前的奇偶性進行轉移 時間複雜度o 4n n m2 o 4 n n m2 include include include inc...
Sequence 省選模擬賽
標籤 貪心 給定乙個整數數列 a,定義f a max1 inaj aif a max1 i naj ai 保證 f a 0。你需要求出至少需要修改 a 的多少個位置才能使 f a 變小。注意,你修改之後的數也必須是整數。2 n 106 ai 109 2 n 106 ai 109 簽到題gg,自己真的...