發表文章

目前顯示的是 12月, 2019的文章

ZJ b570: 為什麼你們都喜歡撞來撞去的?

好久沒寫題目了....... 題目鏈接: https://zerojudge.tw/ShowProblem?problemid=b570 看過題目之後其實不難發現他是並查集 因為他是炸掉邊而不是加入邊 我們用並查集會很難維護他 但如果我們倒著加入邊是不是能得到一樣的效果呢? 所以實際的做法就是倒著加入邊,每次輸出的結果也是倒著的 將每次的結果加入一個stack中 最後輸出stack中全部的值 就是答案啦! 以下為code #include < bits/stdc++.h > #include < bits/extc++.h > using   namespace  std; using   namespace  __gnu_cxx; using   namespace  __gnu_pbds; using   ll   =   long   long ; #define   AC  ios :: sync_with_stdio ( 0 ),cin. tie ( 0 ); struct   DSU {     vector <int>  v;      DSU ( int   x )     {         v. resize (x);          for ( int  i = 1 ;i < x;i ++ )             v[i] = i;     }      int   find ( int   x )     { ...