Day3晚筆記

自為風月馬前卒發表於2017-10-30

DEV C++擴充套件棧空間

 

-Wl,--stack=64000000000

 

帶權二分圖匹配

建一個超級源點S,超級匯點T

把左邊的點的點權作為權值,連一條S到左邊的點的邊

把右邊的點的點權作為權值,連一條T到右邊的點的邊

跑Dinic

 

程式碼技巧

除錯資訊的處理

fprintf(stderr,"%d\n",a);

FILE *f=fopen("gg.debug","w");

fprintf(f,"%d\n",gg);

列舉字串

char s[1000]

scanf("%s",s);

int l=strlen(s);//不要放在迴圈裡面

for(int i=0;i<l;i++)

{

  do something ;;;
}
 

或者

for(int i=0;s[i];i++)

 

讀入的時候

while(~scanf("%d",&n))
while(cin>>n!=EOF)

 並查集防卡

$50%$的概率把p1的父親設成p2

$50%$的概率把p2的父親設成p1