最小割問題。
建如下邊:
(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學長出的題,引文最小割題目做的少,想的少,考試時一直沒寫出來,按題解自己寫了個isap,已通過所有測試點。
#include#include#include#includeusing namespace std;typedef long long ll;
int n,m,s,t,a,b,ecnt,first[600000];
struct edgee[1050000];
bool vis[600000];
int q[600000],d[600000],p[600000],num[600000],cur[600000];
void link(int u,int v,ll w)
void bfs()
}}int agument()
x=t;
while(x^s)
return a;
}ll isap()
if(!advanced)
}return flow;
}int main()
for(int i=1;i<=m;i++)
printf("%i64d\n",isap());//output 'min cut';
fclose(stdin);fclose(stdout);
return 0;
}
省選模擬賽 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,自己真的...