1. 程式人生 > >Tsinghua 2018 DSA PA2簡要題解

Tsinghua 2018 DSA PA2簡要題解

反正沒時間寫,先把簡要題解(嘴巴A題)都給他寫了記錄一下。

 

CST2018 2-1 Meteorites:

  乘法版的石子合併,堆 + 高精度。

  寫起來有點煩貌似。

 

CST2018 2-2 Circuit

  首先是一個二進位制trie + 貪心,但是由於有間隔限制,所以這個trie要支援插入和刪除標記操作。

  寫起來並不麻煩。

 

CST2018 2-3-1 Mooney(basic)

  求一個有向圖的強連通分量個數,直接tarjan就好了。

  寫起來 = 抄板子。

 

CST2018 2-3-2 Mooney

  兩個小問題:

    第一個就是求最短路,Dijkstra。

    第二個先按照前一道題tarjan求強連通分量,然後對DAG樹形DP。

  寫起來有點麻煩。

 

CST2018 2-4 Sort

  我記得好像是原題,忘了咋做了。

  大概想法是歸併排序的時候分析歸併子序列1的前兩個數和子序列2的前一個數的大小,不能證明其上界。。。

  寫起來不麻煩。。就是不知道對不對。

 

CST2018 2-5 ChromPoly

  也沒有什麼想法,直接dfs好像就可以了。

  問題是怎麼判斷兩張圖是同構的,這樣子可以大幅度剪枝,甚至在小情況的時候進行打表預處理。

  然後這是個NP問題,我xxxx。

  我還是決定用hash來做。。但是還是沒想好怎麼hash

  寫起來不麻煩,如果hash搞定了的話。

 

CST2018 2-6 Temperature

  二維陣列,單點修改,矩陣求和,線上演算法。

  好像可以寫二維的樹狀陣列,子矩陣可以通過左上角二維字首和解決。

  寫起來比較簡單。

 

CST2018 2-7 Virus

  就是求所有離0最遠的1,直接bfs就好了。

  寫起來非常簡單。

 

CST2018 2-8 MST

  求最小生成樹。

  ctrl c + ctrl v = AC。

 

20分題:1,2,3-2,4, 5, 6。

15分題:3-1, 7, 8。

吐槽:15分題和20分題真的是一個難度的嗎?助教nb。