上午模擬賽保齡了。
原因是:考試結束最後一刻交T4,太急了交到T1了,導致T1掛分100,T2想了很久但是想假了,導致保齡。
以後痛定思痛,好好改正,早點想做法,做完就交。
T1
貪心,考慮畫框按大小排序,畫按價值排序,特殊地,如果價值相等的話就按照畫的大小排序,然後雙指標直接做就行了。
T2
發現用bfs+記憶化搜尋就可以過了,而且比正解跑的快多了
正解是分層圖,確實沒想出來,我也肯定想不出來,具體地,按照每個石塊建分層圖,然後直接跑就行了。程式碼比較難實現,而且跑的巨慢
T3
推式子的題,考場上看都沒看直接跳,之後才發現其實寫這題比剛T2,T4的收益都要大,因為式子其實很好推。首先考慮p=1的情況,發現顯然要先排序,然後對於x,y分別是最大和第二大的時候發現z的限制是\(a_z + i < a_{n-2} + 1\),只要滿足這個限制就行,所以x,y的列舉就不需要了,只需要列舉z就可以直接算了,對與x,y是別的位置的時候其實也不太難。
今天還把22年cspsT1寫了,彌補一下之前的遺憾
發現n不大,直接列舉B和C,然後對於A和D,可以預處理出來哪些點滿足當前的B和C,發現我們對於每個B或C,其實只需要記錄一個點的值最大的A或D,使得它可以在要求步數內到達相鄰的兩個點,但是又發現可能這個點當它最大的時候可能會和你列舉的另外兩個點重合,所以我們考慮記錄三個點最大的這樣的點,就可以保證不會重合了,發現用set很好維護這個。