時間:2017.11.11~2017.11.12
地點:廣東省廣州市第六中學
Day1
T1:看到題目,心想這種題目也能放在T1?
這個結論我之前遇到過至少3次,自己也簡單證明過。初見是NOIP2005 過河。
結論是兩個互素正整數a,b可以組合出>(a-1)*(b-1)的所有數字。
原理也很簡單,考慮大的數字x去填補小的數字y的空隙,x每翻一倍可以填一個不同的余數(因為互素),翻y-1倍剛好填補y-1個余數,但是填補最后一個余數的時候可以往前延伸到(x-1)*(y-1)都是填補完畢的,所以得證。
T2:模擬棧,雖然題面有點繁瑣,但其實挺簡單的。
T3:30分的統計最短路徑數先寫了,然后發現k很小於是拆點dijkstra,不被卡常的話可以得到無0邊的70分(卡常60分)。
正解是拓撲排序吧。
Day1一切正常。
Day2
今天真是驚心動魄……
8:30 一通狂敲讀入優化和對拍,看T1。
9:00 完成T1(n^2建邊后bfs)
開始看T2,用枚舉邊的方式寫了T2的暴力。
接着看T3,寫了30分暴力。
然后……天才卡題少女登場!
清晰地記得Day1的晚上,我說道:NOIP不可能考平衡樹的,最多考個set。(NOIP確實很少出數據結構題嘛QAQ)
然后看到T3的部分分,經典splay操作(或者treap排名樹),完全沒復習。(數據結構本來就是我的弱項,平衡樹確實已經半年沒寫了)
10:00 心態有點不好(省選也有考了未復習算法的經歷),對現場推treap並不抱有信心。
心里想着說不定T3正解不需要平衡樹,又想了想好像可以用塊狀鏈表代替平衡樹。
但是時間還是不多了,推來推去始終需要數據結構。
開始想T2,覺得寫出T2是唯一出路了。
T2的數據范圍是一道明顯的狀態壓縮題。
想到一個狀態表示,f[d][x][S]表示根深度為d,狀態S中的點形成一棵根為x的子樹的代價。
轉移復雜度爆炸,妥妥的0分算法,細節也很多。
掙扎着要優化,無果。
11:10 頁面反復的在T2和T3之間跳躍,試圖拿點部分分,腦袋里卻一點思路也沒有。
啊,這樣是不是要退役了。
高二NOIP Day2目前得分100+0+30。
我的OI生涯是不是要這么結束了。
T3詢問少的分數怎么寫啊……不會啊……。平衡樹還可以拿30分啊……好不甘心啊,我怎么沒復習啊。
沒時間了,比賽要結束了,我是不是要退役了。
好不甘心啊……
11:19 不能再浪費時間了,我想T2想到11:25,如果還想不出來就盡力拿部分分。
求求你了……讓我想出T2吧……
11:22 簡化模型,一棵樹的價值是∑w(u,v)*d[v]。
我能不能枚舉根,然后一個深度一個深度地向外拓展,考慮每層有哪些點。
枚舉根,f[d][S]表示深度0~d結點狀態S的最小代價。
轉移的話,應該是算每個狀態對下一深度包含此狀態的狀態的影響……3^n?應該反過來轉移更方便。
所以用記憶化搜索的話,f[d][S]=f[d-1][S2]+w*d,w是S2^S和S之間連邊的代價和,然后用記憶化搜索解決。
復雜度……O(n*3^n)?
好像可做???好像可做!!!
好像可做!!!時間不夠了,快寫。
11:30 開始敲T2正解。
11:40 敲完代碼,強制自己冷靜下來……還有20min夠了,開始debug。
11:50 查出一個錯誤后,過了樣例1和2。
求求你了,讓我過樣例3好嗎。
445!
謝謝!!!克制住掀桌而起的想法攤在了椅子上。
12:00比賽結束。
出來后和ccz討論發現T2寫法一致,但是問題在於我處理兩個集合連邊多了n^2的復雜度(應該只能過70了,不過也比原來的20分好),這是可以預處理解決的。
還有就是我最后10min發現這個寫法有個問題,S^S2往S連邊不一定是葉子,反復考慮后覺得應該是一種放縮(條件嚴格化),這樣計算雖然不全對,但是答案會被計算,非合格結果比答案劣,所以應該是正確的。ccz表示確實如此,長舒一口氣。
NOIP 2017 期望得分:100+100+60(70)+100+70(100)+30=460(500)。
反思
有很多很多想說的話。
我已經高二了,OI生涯的最后一年。隨着THUWC的出現,NOIP成績變得非常重要。我身邊的高二都是這樣的想法:埋頭沖刺NOIP,考得不好就退役不再搞OI。
高二的時候考試,心態已經和高一的時候完全不同了。退役的文章見多了,真正要直面退役的可能卻是第一次。
嘴上說着退役了不要緊,大不了回去讀高三拼文化課,其實我們中的大多數人,都沒有面對退役的心理准備。
其實我們中的大多數人在為了OI放棄文化課而不顧一切的時候,都沒有想過承擔退役的后果。
但是,無論退役的后果有多嚴重,我們依然願意為了OI付出一切,為了能去想去的大學,為了自己的夢想,為了不去讀枯燥的文化課,為了我們所熱愛的信息學競賽。
為了這些或大或小的夢想,我還不想退役,我還想繼續戰斗下去。
這次NOIP,有如下問題:
1.速度:前松后緊的問題依然存在,3.5小時3道題時間非常緊迫。暴力一定要寫快一點,像Day2這樣部分多題目難,就應該爭分奪秒才能贏得更多的分數。
2.心態:不要總是想着這場比賽有多重要,考不好就退役了,這只會讓頭腦一片空白。想着考不好也無所謂,盡力去拿到更多的分數就好了。冷靜!
3.戰略:時間安排有問題,仍然想着要寫正解,部分分意識還是很薄弱。不要花大把大把的時間想題,這樣容易陷入一個怪圈出不來。勤動手,該拿的分一定要拿到,不該拿的分趕緊丟掉。
4.思考:多換換角度,不要老是圍繞一個點思來想去沒有突破,多嘗試一些其他的切入角度。
5.復習:不要押題!不要押題!不要押題!不要抱有僥幸的心理,各方面都要准備充分,對自己的薄弱部分要不斷強化,考前幾天提前背好板子不要考前一晚熬夜。
別忘了最初的感動,最后一刻的心動——《初夢》初音未來
想去見你,想回到那,遺失的過去。
想去見你,想迷失在,繁星的故居。
想去見你,想再一次,唱我們的歌。——《告白》初音未來
願誰記得誰,最好的年歲。——《牽絲戲》銀臨/Aki阿傑
鍵盤微涼,鼠標微涼。指尖流淌,代碼千行。
屏幕在深夜微微發亮,我心在考場。——《膜你抄》Menci
謝謝這些歌曲陪我度過NOIP 2017,不到絕境,我絕不會放棄OI。無論成績如何,我都會繼續戰斗下去。
CYC never dies!
后記
最終成績:100+100+60+100+70+30=460,和估計分數完全一致。
機房很多人考掛了,掛得很慘很慘。雖然我考得不算好,卻也是少數正常發揮的幸運者了。
希望到明年五月,GDOI2018前我能對自己說,我已經有進省隊的能力了。
如此,才至少不會辜負這段OI生涯吧。
幻夢終醒,本無不散之宴,卻不悔付此華年。
加油!