HNOI2017 遊記

若是你要問我爲何如今才發出來,那是由於我太懶了php

Day0:數組

  平常看板子……不想寫題,嘴巴了幾道題以後也不想寫……函數

  到了晚上頹起來了……回想了一下彷佛也沒有立什麼flag,那就愉快地頹吧……深感技術下滑嚴重spa


 Day1:get

  考前仍是很緊張的,不知道爲何一到大考前就以爲本身這也不會那也不會。看了不少板子(雖然最後也沒有用上)。io

  Day1開始也不知道出了什麼問題,總之就是題目打不開,加緊給咱們印刷了紙質版……因而就多了40min的打板子時間。而後這40min我就一直在寫FFT……最後就是一直到開考了尚未調出來。當時我就想HNOI應該不會有FFT吧(flag)。程序

  開考看了下三道題,感受今年的畫風不太對。感受T1很可作的樣子。記得老師一再強調要先寫暴力,那就先寫暴力吧。接着發現T3彷佛有個70分的暴力也不難,$O(n^2)$算一算而後解個不等式就直接出答案了。技術

  接下來就開始寫T1。一開始想簡單了,覺得每次旋轉其它全部點的深度都會加,這樣的話就只須要一個全局標記了……後來才發現旋轉的點的子樹深度是不變的。花了點時間改過來。寫完後拍出了幾個錯誤,以後就和暴力拍上了。此時看了下時間,過去了2h左右。數據

  接下來花了1h左右寫T3,試了各類辦法,好比把平方拆了,猜有單調性什麼的……可是並無意識到我暴力算的那玩意兒就是一個點積,能夠FFT加速。最後分數仍是70分。文件

  接下來的時間我就一直在剛T2。總以爲這道題和去年的序列很像……可是想了好久都不會低於$O(n^2)$的作法。看了下還有一個部分分,感受並無什麼用的樣子……而後忽然發現,這個部分分能夠把$p_1$ 拆成兩個$p_2$來算,那麼就是HNOI2016的序列了,而且仍是簡化版……

  而後……HNOI2016序列怎麼寫來着?

  花了點時間回憶起了莫隊作法,可是線段樹作法想不起來了……20W的範圍莫隊有點虛,最後仍是硬着頭皮寫了……而後發現極限數據6s,就開始了緊張刺激的卡常數,最後卡到了2.0s,恰好就是時限,不知道有分沒……

  一直等到了5點終於出數據了,開心地發現我三道題都沒掛,T2寫的60分還卡過去了,真是讓人感動。仔細看了一下T2那30分的數據,發現恰好沒到極限,因而我就恰好跑過去了……感受100+60+70=230彷佛是個比較高的分數?

  晚上和我爸散完步回到家,發現UOJ羣裏已經出成績了……點開一看,就被嚇到了。TM怎麼這麼多上200分的啊!我聯賽考砸這是要完的節奏啊!今年省選標準分這麼高還讓不讓聯賽考砸的人活了啊!


 Day2:

  今天比昨天還緊張……大概是由於Day1考得比較好,讓我有了衝省隊的慾望吧。

  今天題目沒有出問題了,順利打開了題面。看了一下題目,T2竟然是個計算幾何,T1感受是個dp可是C的範圍有$10^{18}$感受無法作啊……T3彷佛就是用組合數算算?那麼70分仍是很好寫的吧……(下考場就被告知我T1看錯數據範圍了)

  而後就開始寫暴力。第一題暴力很好寫,寫完以後加個記憶化還能夠多20分。感受空間有點虛,一測空間竟然真TM爆掉了……而後發現我數組開的是int,實際上只要bool就能夠了……成功壓下空間。

  跳過T2先開始寫T3。忽然發現這個模數怎麼那麼鬼畜……感受70分拿不到了啊……彷佛須要CRT?可是我不會算模數爲$p^k$的組合數啊……

  而後我就發現我傻逼了。模數的質因子只有2和5,那麼預處理階乘的時候把2和5所有除掉,剩下的部分求逆就能夠了。輸出不想寫特判,就轉成高精度輸出吧。

  寫出來測了一發9組相同的極限數據,發現輸出怎麼不同?而後就發現了屢次輸出高精度數組沒清空……剛好我暴力用的是同一個print函數,因此拍不出來……好險……

  接着就發現被卡常了,因而又開始了刺激的卡常數……逆元改爲遞推求,2和5的冪次預處理……最後卡到了10組0.2s。想着這70分應該是穩了。

  想了一下子T3正解無果,就開始寫T2的暴力。而後發現T2真TM難寫。射線和線段判交怎麼寫啊!最後我強行把射線和線段都轉成直線,而後直線求完交再來判交點是否既在線段上又在射線上……我仍是用解析式算的……接着我又不會判點是否在射線上……最後就是大力特判,分類討論……慶幸最後沒有掛,我過了樣例就沒管了。

  最後的時間一直在剛T3,由於以爲暴力分多的題確定正解容易些(像昨天的T3同樣)。而後推了1h左右的式子無果,就開始找規律。而後就發現答案彷佛是楊輝三角某一行的前綴和?仔細看了下發現答案是$\sum_{i=0}^{a-1}\binom{a+b}{i}$,拍了一下彷佛很對,可是彷佛要算$O(b)$個組合數?

  又過了一段時間,忽然想起來組合數是對稱的,因此咱們能夠算出前$\frac{a+b}{2}$個組合數的和,這樣接下來就只要算$O(a-b)$個組合數了……很是開心,而後發現……我不會算這個模數下的組合數……

  仔細想了想,這個模數也不是質數,分解以後仍是$p^k$的形式……彷佛有人講過模數是$p^k$形式的組合數怎麼算?可是我已經忘記了……試圖現場推出可是失敗了……接着我就欺騙本身正解絕對不是這個東西(flag)

  接着找到了一個神奇的數列,能夠用這個數列來算答案。前幾項分別是$1,2,5,14,41$,而後我竟然沒看出來這是斯特林數,也沒有再日後算一項,還覺得是乘3減1。開開心心寫了一個矩乘,拍Wa了就沒交上去。

  因爲一直到12:58我都還在寫矩乘,最後的檢查比較匆忙,因此也很怕出現程序交錯,文件名打錯之類的低級錯誤……

  過了不知道多久,終於出分數了……老師告訴我今天140。那麼又是一分沒掛?雖然我寫的大多都是暴力分,可是省選一題不掛也不容易了。今天40+30+70=140,感受彷佛要進隊了?也許能夠卡進前13?

  接着就是緊張的統分環節……統完分以後據說省隊線300分左右?內心默默加上個人聯賽分數算了一下,感受彷佛……真的要進隊了啊!

 

  最後的結果就是某個聯賽考砸的傢伙省選翻盤,成功進隊。

  這以後,競賽也展示出了殘酷的一面——有人留下來,就得有人離去。省選出成績的那一剎那,內心不僅是喜悅,還有一股憂傷——由於意識到要失去一些Friends了。競賽就是如此殘酷,咱們能作的,就是盡力作到最好。不管省選如何,將來的路還很長,你們一塊兒加油!

相關文章
相關標籤/搜索