HNOI2017 游记
如果你要問我為什么現在才發出來,那是因為我太懶了
Day0:
日常看板子……不想寫題,嘴巴了幾道題之后也不想寫……
到了晚上頹起來了……回想了一下似乎也沒有立什么flag,那就愉快地頹吧……深感技術下滑嚴重
?Day1:
考前還是很緊張的,不知道為什么一到大考前就覺得自己這也不會那也不會。看了很多板子(雖然最后也沒有用上)。
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了。競賽就是如此殘酷,我們能做的,就是盡力做到最好。無論省選如何,未來的路還很長,大家一起加油!
轉載于:https://www.cnblogs.com/lcf-2000/p/6747304.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的HNOI2017 游记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: webapi+EF(增删改查)
- 下一篇: windows ffmpeg 的安装