1. 程式人生 > >2018.10.24模擬賽2解題報告

2018.10.24模擬賽2解題報告

個數 情況 不難 以及 是個 數組 std 方法 spa

心路歷程

預計得分:\(100 + (21 - 41) + 80\)

實際得分:\(100 + 21 + 43/44\)(評測機吃了一個subtask。。)

這套題應該是很有難度的,T1是個二維差分,開始沒看出來差點就去寫樹套樹了。。

T2我本以為是道神仙期望dp,然後各種概率都可以觀察性質找到快速計算方法,結果沒想到std是數組+map結合優化記憶化搜索

T3送了好多部分分,我差不多都做出來了,但是Subtask3思路上漏掉了一種情況爆零,Subtask5的鄰接表忘記開二倍空間爆零。。

Sol

T1 首先不難想到對行和對角線進行差分,這樣就可以得到\(70\)分,實際上我們可以對差分數組再差分,就能過掉這題了。

T2 當\(n \leqslant 20\)時直接串壓成\(0/1\)串爆搜,當\(n > 20\)時壓到map裏搜。。

T3 神仙樹形dp,我雖然做了80分但是貌似和正解完全不沾邊。。

一個很顯然的結論是\(c \not = d\)的邊最多會改一次,\(c = d\)的邊永遠不會改。

現在我們要決策的邊也就是\(d = 2\)的邊

當所有的邊的\(d \not = 2\)時,需要改的次數是\(\frac{\text{度數為0的點}}{2}\)

\(f[i][0/1][0/1]\)表示與父親相連的邊是否需要改,此時子樹內度數為\(0\)的點的最少個數,以及最短路徑長度。。

轉移看不懂,,,

2018.10.24模擬賽2解題報告