1. 程式人生 > >NOIP2018聯賽總結

NOIP2018聯賽總結

NOIP2018聯賽總結

Day 0

打了幾個模板,看了一下別人的部落格,背了一下vimrc

Day 1

到了考場,先把vimrc配好

開啟題目一先把三道題瞄了一眼,\(T1\)似乎是NOIP原題,\(T2\)看上去比較像小凱的疑惑,\(T3\)似乎很經典。我先花10分鐘寫了一下\(T1\),花半個小時寫了一下\(T3\),過了樣例之後感覺不太好拍就沒管了。然後看\(T2\),一開始覺得和什麼\(gcd\)之類的有關。突然想到之前講過的一道題,然後寫了一個最短路的做法,最後一直在卡常和查\(bug\)(結果\(T3\)\(bug\)還沒查出來)

road

期望得分 100
實際得分 100

考場思路

前不久還瞄了一眼積木大賽,覺得做法很有意思,結果沒想到。。。(我抄我自己)

正解

直接\(\sum max(a_i-a_{i-1},0)\)即可

money

期望得分 100
實際得分 100

考場思路

首先發現最小的數\(Min\)一定不會變,然後我們設\(f_i\)\(\%Min=i\)的最小能被這個集合表示的數。兩個集合等價就相當於兩個集合的\(f\)陣列相等。我們先把給定的集合的\(f\)陣列用\(spfa\)求出來,將\(f\)排序去貪心取。

正解

如果某個數可以被其他數表示,那麼這個數就可以被刪掉。那麼直接從小到大排序做完全揹包即可。

track

期望得分 100
實際得分 85

考場思路

一看就是一個二分答案,check就看樹上長度大於等於\(Mid\)的鏈最多取出來的條數是否大於\(m\)。設\(f_x\)為保證子樹答案最優的情況下。\(x\)向上傳最長能傳的鏈的長度。在某個節點處將他所有子樹的\(f\)兩兩配對,取較小的配對,最後剩下來去最大的即可。

正解

就是這樣,但是考場上寫錯了一個細節。。。

After Day 1

出來發現大家都\(AK\)了,我一開始也以為我的是對的。結果下午想了一下發現有個小地方寫錯了。想著希望\(Day 2\)不要掛分吧

Day 2

開啟題目一先把三道題瞄了一眼,\(T1\)簽到,\(T2\)看上去像一個計數類似的,\(T3\)

一眼看上去\(ddp\)模板題。我先花20分鐘寫了一下\(T1\),過了樣例就沒管了。然後就一直在看\(T2\),一開始推了一個錯的結論,一上去就寫了個狀壓矩乘,結果連\(3\ 3\)都過不了,想了一下好像沒那麼簡單。這個時候是\(9:30\),我覺得有點慌。後來又推了一個結論,已經\(10:30\)我就先看了下\(T3\),發現\(O(n^2)\)和鏈的情況很好寫,就花20分鐘寫了。然後去寫\(T2\)\(dp\),寫完之後已經\(11:30\)過了\(3\ 3\)之後發現過不了\(5\ 5\),然後一直調也沒有調過去。

travel

期望得分 100
實際得分 80

考場思路

先把每個點的出邊排序,樹的話就是\(dfs\)序。環套樹就列舉每條邊看刪去這條邊之後的答案,去最優值即可。

正解

我寫的是正解,然而在\(dfs\)時我直接按樹的方式\(dfs(x,ff)\),由於我剪了一個枝,大樣例能過。。

game

期望得分 65
實際得分 50

考場思路

一開始以為就是隻要沒有在一個\(2 \times 2\)的正方形裡有右上角的1和左下角的0就可以了,然後就狀壓了前一行的狀態,矩陣乘法,然而只能過\(n=2\)的。再一推發現每一個斜列上是單調的,想了一下以為如果\((i-1,j),(i,j-1)\)相同,\((i+1,j),(i,j+1)\)必須相同。然後覺得可以分奇偶算答案乘起來即可,然後寫了個\(O(m*n^2)\)\(dp\),最後過了\(3\ 3\),過不了\(5\ 5\),出來發現其實是錯的。

正解

找規律題。發現在算出\(m=n+1\)的情況之後就是一個公比為\(3\)的等比數列了,搜尋打表即可。

defense

期望得分 64
實際得分 64

考場思路

沒怎麼看這題,\(O(n^2)\)的暴力很好寫。\(A1,A2\)的話就記一個前後綴\(dp\)就可以了

正解

當然可以用\(ddp\)

回家之後發現這不是和\(nyg\)的模擬賽題差不多嗎,直接倍增維護一個\(2\times 2\)\(dp\)矩陣就行了。先處理出每個點子樹和向上的\(dp\)值。在求\(lca\)的過程中,維護\(x,y\)\(lca\)的矩陣,最後答案為\(x,y\)的子樹和加上矩陣答案再加上\(lca\)向上的\(dp\)值就可以了。略有細節。

After Day 2

出來和羅大神討論了一下\(T2\),他告訴了我那個為什麼是錯的,每個點影響的應該是一個以它為左上角的矩形。我在回家的路上突然想到我\(T1\)掛了。回去之後看了一下\(T3\)也想出來了正解。

總結

這次\(NOIP\)總體不是很理想,容易題寫錯了很多。\(Day2\)的開題順序也有問題,考場上總想著硬剛,其實可以嘗試打表的總只想自己推出來。接下來的幾個月要補上一些我之前不太會的東西,多做一些\(HNOI\)的題。每次模擬考試多積累一些經驗。希望\(HNOI\)加油。