1. 程式人生 > 其它 >2021.11.6模擬賽

2021.11.6模擬賽

Result:0+0+70+0=70

覆盤:

0~20min:讀題x4,T3是奇怪的期望,棄掉,剩下的開題順序是1342(熟悉的開題順序

0~1h10min:硬推T1正解,在嘗試了最短路+拓展,圖上dfs+二分+拓展,並查集之後發現沒有任何意義。

1h10min~1h50min:寫T4\(O(n^3)\)暴力,發現不能過之後,用vector對每一個左端點維護一個右端點的集合,
離散化之後是跑不滿的\(O(n^3)\)但是出題人的資料顯然是讓我跑滿了

1h50min~3h:猜測T3是區間dp,或者\(O(n^3)\)貪心,最後推出幾個結論:
<1>最多更換n次領主,且一塊領地上最多更新一次。
<2>用於更換的領主一定是忠誠度前n大的領主。
因此直接列舉更換的領主個數。結果忘記了考慮更新的封建主不是連續的問題。

3h~3h50min:發現T1用迭代加深搜尋能混一些分,開寫+debug

最後10min:擺爛+檢查

期望得分:40+0+100+40=180又掛了一半多

關於掛分:

T1:兩個非常愚蠢的錯誤,(1)二分的上界是\(r=max_i^nw[i]\) (2)輸出答案時無端換行了。。。
掛20

T2:沒做是唯一一道沒掛分的題

T3:結果忘記了考慮更新的封建主不是連續的問題。正解應該是dp+貪心結論。竟然只掛了30???

T4:出題人用ta優秀的資料讓我TLE的徹徹底底。

經驗總結:

關於T1
前面對著一道全場第二難的題硬推正解,還好及時收手了,要不然就要爆零了。
所以說有的時候還是要踏踏實實打暴力的以及亂搞騙分
還有就是很多想不出來的圖論題經常會是並查集。
最後迭代加深搜尋要注意迭代多少層,層數太少是不會有答案的。

關於T3
很多dp需要一些貪心結論優化。
或者說是先推出貪心結論縮小範圍後再dp。

關於T4
假莫隊是過不了什麼題的。。

關於T2
最滿意的一道題,因為沒掛分
也許以後可以試著推一下。

關於其他
有的時候強行寫暴力是寫不出來的,還不如花一些時間推正解。
畢竟根據同機房出題大佬的經驗,很多時候出題人給了部分分的範圍但是根本就沒想好怎麼寫部分分