因為太菜了沒去現場參加 NOI
就算去了估計也只能混個Fe(霧)
“兩天都會各有一道簽到題,爭取拿到70分。剩下的題每道題打30分暴力。每天130分,就能穩拿Ag了。”——ls
Day 1 - 2020.8.18
真·前一天晚上奇跡般地 22:30 就睡着了。
8:30 吃完早飯在電腦面前等待考試。
服務器炸了 10min 差評。
8:40,服務器算是修好了,點進去一看:“你訪問的頁面不存在”。
8:45,終於可以正常開始考試了。。。。。。
我只能說,CCF dl。
早上還有點兒困啊,考試前 30 分鍾心情也沒那么緊張,所以考試前 30 分鍾幾乎啥也沒干。。。。。。
先看 T1。不愧是簽到題啊。\(\mathcal O(nT)\) 的 \(dp\) 算是連剛學 OI 的萌新都會的吧。
然后再套個廣義矩乘優化就可以過了呢。
欸等等,好像還有不少細節要注意,\(1 \leq w_i \leq 5\),就是要把 \(dp_{i,j}\) 到 \(dp_{i-4,j}\) 都壓縮到一個矩陣里?我咋覺得有點兒問題呢?你這轉移矩陣咋求呢?
不管了,先看 T2。欸,這 32 分不是送的嗎?不過是在這題的基礎上套個樹鏈剖分嗎?
於是開始碼,然后發現自己樹剖都不會了,竟然在第一遍 \(dfs\) 的時候就求出 \(dfs\) 序,果然是考場犯渾選手啊。除此之外還有不少 sb 的錯誤。調好后 2h20min 過去了。
去看 T3。哇這個 T3。。。送了好多分欸。前 6 個點暴力 BIT 都可以解決。后面那個 A 用莫隊+BIT可以做到 \(\mathcal O(n \sqrt{n} \log n)\),開個 O2 說不定能過呢。那個 C 也巨水無比,那總方案數減掉不合法的方案數就可以了,總方案數用二維數點+二維前綴和可以求。這樣一來我就有 52 分了呢。
懷着無比興奮地心情開始碼代碼。平方的很簡單,20 分鍾不到就寫好了。
可是寫 A 的時候遇到了和 T2 同樣的麻煩:忘了莫隊怎么寫了。我曾幾次三番地想要點開以前的程序,但一想到 NOI 同步賽的考試規矩,只好默默關閉了窗口。
一晃眼 40min 過去了,大樣例過了。調了下塊長,發現塊長 \(S=233\) 的時候跑得最快,但是 \(n=10^5,m=2 \times 10^5\) 的數據還是跑了 6 秒。只能祈禱神一般的評測機了。
至於 C,雖說口胡起來挺容易,但是還是寫了 30min。
現在已經 12:45 了,你這個 A 題准備怎么樣呢。
當時的心理是,算了這畢竟是 NOI。想着 NOI2015 壽司晚宴雖說也是 NOI 的簽到題,但是你不也絞盡腦汁折騰了一晚上+一早上才把它獨立搞出來嗎?所以還是保守一點寫個暴力吧。說不定這題不是矩陣乘法,跟 dp 一點關系都沒有呢。
於是花了 20min 寫了一個 50 分的暴力,剩下時間全部用來划水。
預計 50+32+52=134,lg 測一分沒掛,不知道 CCF 官方成績如何。
考完和別人聊天才發現原來 T1 就是矩陣優化。我那個想法離正解只有一步之遙。
看來還是要相信自己嘛。
不管了 Day 2 繼續努力吧。
Day 2 - 2020.8.19
更加自閉的一天。
前一天晚上又是 22:30 就睡着了,創造奇跡。
今天早上服務器沒炸,8:30 准時開始考試,好評。
拿到手先把三個題掃一遍,感覺分都不太好拿啊。
這 T1……smg 啊,感覺像網絡流……不對,不是網絡流,應該是道思維題,先跳過吧。
這 T2……題面勸退能力太強了。光是題面就夠我啃 15 min 了。懂了題意,還是不會做可咋整啊。
這 T3……那詭異的條件怎么用還是個問題呢。
1h 過去了。
沒什么好寫的,從頭再看一掃一遍題面。
這 T1……我有個貪心的做法,但是作為 NOI 的題應該不會這么水吧,那應該是假的。跳過。
這 T2……好像我有 12 分了,不過我的眼界應該不只局限於這 12 分吧。
這 T3……我的媽這幾個部分分一個都不會啊/kk
折騰了 1.5h,還是覺得 T2 比較可做,就去寫 T2。
好好想了一下感覺 \(h \leq 4\) 和特殊性質 \(3,4\) 都比較容易,開始碼代碼。
因為比較自閉,就寫一段時間划一段時間的水,手速也沒那么快。大約 3h 的時候碼完了吧。
36 分應該有了,雖然花了大把的時間但是至少心理上得到了安慰了。
去看 C,想盡了各種方法,卻發現連暴力都不會打。
沒辦法,只好輸出 \(-1\) 騙分了。這種題輸出 \(-1\) 至少能拿個 5 分吧。
好自閉啊,還真是 Day2 只比 Day1 難億點點。
回去看 A。欸,15 分暴搜我會。但可惜我不想寫,打到一半就索性全部刪掉重新開始了。
說不定寫個貪心能過 \(n \leq 4\) 的點呢。
於是開始寫之前想的那個貪心。人腦模擬了一遍樣例。竟然能過。看來出鍋的可能性應該不太大吧。
繼續去測大樣例 \(2\),\(10\) 個掛 \(4\) 個。淦,真就“出鍋的可能性不太大”唄。
我也不知道當時我怎么想的,可是得知樣例 \(2\) 掛了之后就去測樣例 \(3\)。
出乎意料的是,樣例 \(3\) \(n \leq 500\) 竟然 \(10\) 組數據一組都沒掛。
由於好奇心,我點開了 dish2.in
和 dish3.in
。
我知道原因了,原來樣例 \(2\) 中有 \(m=n-2\) 的情況,樣例 \(3\) 中沒有。
看來我這個貪心可以正確處理 \(m \geq n-1\) 的情況。那我豈不是又有 \(20\) 分了?
進一步分析樣例。欸 \(m \geq n-1\) 的時候不會出現 \(-1\)。
那 \(m=n-2\) 的情況豈不是只要將 \(n\) 個原料分成兩部分,其中一部分的 \(a_i\) 的和是 \(k\) 的倍數就可以了?
然后寫了一下發現不對,也不知道是咋回事。
哦原來僅僅是 \(k\) 的倍數還不行。假設你選出的集合為 \(S\),那么必須有 \(\sum\limits_{i \in S}a_i=k(|S|-1)\) 才行。
然后碼了一個暴力,\(45\) 分到手了。其時已 13:10。
想交,結果發現登錄過期了,密碼什么的我也沒記住,只好重新登錄一遍 noi 的網站看密碼。浪費了我 5min。
雖然只剩 15min 我也不指望我能再拿什么分,但是我還是想進一步想一想 T1。
之前那個算法好像可以用背包優化。令 \(b_i=a_i-k\),我們只需找到一些和為 \(-k\) 的 \(b_i\) 就行了。
時間復雜度 \(n^2k\)。
淦這貨竟然能拿 \(85\) 分。可惜只剩 10min 也來不及寫了。
期望得分 45+36+0=81,zbl。
啊我的 Ag 沒了啊啊啊啊啊啊!!!!!!
所以有什么想法,如果實現起來不困難,就算不一定正確最好也寫一寫。如果今天我先寫 T1 說不定那 85 分就拿到了呢。
實測 Day2 T1 掛了 20 不知道怎么回事,T2 掛了 12——\(h=4\) 寫掛了,特殊性質 3 也掛了,特殊性質 4 掛一個點。T3 還莫名其妙得了 5 分
25+24+5=54,zbl
兩天加起來 134+54=188,達到了 Ag 的分數線。
綜上,今年的題目是:
一位擅長 制作菜品 的 美食家 在 翻修道路 時發現了一顆 超現實樹,通過不懈的追問終於明白了一個人最終的 命運 就是成為 時代的眼淚