第三階段模擬賽總結
阿新 • • 發佈:2020-10-07
聯賽模擬測試9
A. 嚎叫響徹在貪婪的廠房
-
只看出來計算相鄰兩個數的差的公約數以判斷是否是一個家族,沒看出來可以貪心,就寫了個60分的DP,
-
其實直接貪心做就好了,用set或map維護一下是否出現過就好了
B. 征途堆積出友情的永恆
-
考試的時候寫出了DP式子,但沒有進行優化
f[i] = Min(f[j] + Max(s[i] - s[j], b[j]))
-
正解就是堆優化上式,q1維護f[j] + b[j], q2維護f[j] - s[j],然後轉移轉移就好了
晚間測試2
A. 裝飾
- 這個題好像隨意搞搞就能過...
B. 涼宮春日的消失 (Unaccepted)
- 打了個暴力水了25分
聯賽模擬測試8
A. Divisors
-
一看數學題我就直接寫了個50分的暴力。
-
考完一聽老孔的講解,真的是好簡單,把每個數約數暴力map統計一下就成了
B. Market
- 看出來是揹包,然後發現重量太大,就把重量和價值換了一下,暴力跑了個揹包,水了40分。
for (int k = s; k >= a[j].v; --k)
f[k] = Min(f[k], f[k-a[j].v] + a[j].c);
- 正解是把dp陣列搞的有單調性,upper_bound一下就轉換成log的了。
for (int k = s; k >= 0; --k) f[k] = Min(f[k], f[k-a[j].v<0?0:k-a[j].v] + a[j].c);
C. Dash Speed (Unaccepted)
-
一遇到圖論就卡到裡面去了,只要A不了那整場考試就完了,主要是思路真的是看出來了,就是寫不出來,就很難受
-
正解是線段樹分治+可持久化並查集
D. 數列運算
- 原題重做,拿了個90分的高分暴力,這道題我之前都寫過題解,
水貢獻分,不過根據我的原則數學題在考場是堅決不推式子的。
晚間測試1
A. 中國象棋
-
一眼以為是狀壓DP,但資料範圍有一點大,開始寫了個20分暴力,最後考試結束才把3進位制狀壓調的過樣例,不過幸虧是考完才調出來,因為交上去0分...
-
正解是n3的DP,f[i][j][k]表示前i行有j列放了一個,k列放了零個的方案數,6種方法轉移一下就行了。
B. 奇妙的 Fibonacci (Unaccepted)
- 發現一個奇妙的性質,當j整除i或j為2時,Fj整除Fi,然後約數分解一下水了60分。
聯考day4
A. 煎蛋的疑惑
- cpp名稱都寫了excatalan(擴充套件卡特蘭數),就像推卡特蘭數那樣打個表就過去了
B. 資料結構
- 雖然考場上看出來需要用二項式定理推一下式子,可一看到數論就打個暴力水了20分,考後看題解,除了式子外的思路都神相似。
C. 博弈
-
這題直接CE了,freopen後面沒加分號,不過加了也就10分,以後每次交之前都要編譯一下。
-
正解是找規律,算出答案可能出現的區間,暴力列舉。
D. 植物大戰殭屍 (Unaccepted)
- 寫了暴力1分沒有,還沒有A 。