HNOI2018游記
Day 0
信息組罕見的假期,早上一覺睡到九點鍾。然而機房里的大佬八點不到就來切題了orz。
上午沒寫什么東西,寫了個整體二分的板子題,一個+1寫錯還調了好久。
下午練了一下\(Hash\),寫起來感覺不錯,基本上可以做到一遍過。
晚上當然就是機房互奶啦。yyb奶今年會考生成函數(然而我什么都不會啊orz)。
沒什么事早早滾回寢室睡了。
Day 1 a.m.
進考場之前心情十分忐忑。
啥都不要想了看題吧。
T1 尋寶游戲hunt
暴搜\(10\)分,然后有另外\(20\)是裸的\(dp\)。這樣就有\(30\)分了。正解?不會,下一個。
T2 轉盤circle
顯然是數據結構啊。首先數組倍長然后減個下標,會發現答案其實就是
單調隊列可以做到\(O(nm)\)。\(40\)分有了。
T3 毒瘤duliu
真·毒瘤題
題意就是給你一棵樹再加上不超過\(11\)條邊的圖問你不同的獨=獨立集的個數。
首先\(20\)分\(n\le20\)狀壓先寫着。然后發現\(m=n-1\)就是一個簡單樹\(dp\)。
然后\(m=n?\)基環樹\(dp?\)。
寫着寫着發現可以容斥一波。然后又寫啊寫啊,發現這個的復雜度——\(O(n*2^{m-n+1})?\)仿佛是正確的復雜度?
但是這鬼題目時限1s還不開O2是要搞什么事情啊。
不管了寫着。寫完了和暴力拍着沒\(WA\)。
閑來沒事測了一下T3的極限數據\((n=10^5,m=n+10)\)。然后。。。
誒怎么卡住了呀,我文件沒輸錯啊。。。誒你怎么跑出來了。
\(29s\)。
我整個人懵了。這還只是每個點隨機選一個編號比自己小的點為父親構出來的樹再\(rand\)加上\(11\)條邊的隨機數據啊。
這什么鬼???
然后測了一發\(m=n+7\)。\(3s\)。
我還有什么話可說呢?
於是下考前估分\(30+40+70=140\)。
Day 1 p.m.
打跑得快。yyb太強了總是虐場。
然后四點多出了成績,聽到自己\(110\),心里一下子涼了半截。
不管了先去考場再說。
去了趟考場發現自己T3只有\(50\)然后T1只有\(20\)。
T3的容斥是\(WA\)的!前四個點是\(WA\)的然后后面的十個點過了。
難道暴力是錯的?回去一看暴力是對的。也許我是一直拿着兩份相同的暴力在拍吧。。。
完全沒有debug的欲望,我現在只知道我只要拼一下暴力T3就能有\(70\)分。
至於T1為什么只有\(20\)分呢。我翻了一下我寫的代碼。
for (int i=0;i<n;++i)
for (int j=0;j<65536;++j)
{
(f[i+1][j&a[i+1]]+=f[i][j])%=mod;
(f[i+1][j|a[i+1]]+=f[i][j])%=mod;
}
你這個傻逼你加個if (f[i][j])
會怎么樣啊卡常數了解一下?
果然涼了。
T1嘗試申請重測,后來據說重新造了數據然后全場重測。不知道結果會怎么樣。
居然翻上去了。重測后\(30+40+50=120\)。
算了不管那么多了。你們奶一口我Day 2翻盤吧。
Day 2 a.m.
感覺狀態沒有前一天那么好。也只能硬着頭皮上了。
T1 游戲game
一開始給我的感覺就是我連暴力都不會打。
想了一下明白了\(O(n^2)\)怎么打。
然后對於\(y\le x\)的數據是有一個性質的,可以做到\(O(n)\)。
然后這樣就寫了\(60\)分。
寫完了拍着沒\(WA\),但是心里很慌,很怕到時候出了考場大家都說這題是傻逼題然后全場切。
T2 排列perm
題意看了半天沒懂,然后寫了一個\(O(n!*n^2)\)的大暴力過了樣例。目測是過不去的。
想了一下對排列求個反數組。對於排列\(p\)我們令\(q_{p_i}=i\),然后限制條件\(p_k=a_{p_j}\)則\(k<j\)就變成了\(k=a_j\)則\(q_k<q_j\)。
這樣就可以構出一個拓撲結構了。然后。。。
貪心是錯的啊。
不過思路到這里就可以寫狀壓了。\(n\le15\)還是可以隨便跑的。
寫了兩個明顯會\(WA\)的貪心。加個隨機化多跑幾次答案取\(\max\)希望可以騙到點分。
T3 道路road
\(20\)分暴力滾粗。下考前半個小時寫了個退火。
保守預估分\(60+40+20=120\)。
聽到隔壁的討論今天的題全是原題。涼涼。
Day 2 p.m.
三點半就出了成績。貌似全場實際分數普遍大於預估分數。
T1只要倒着做\(O(n^2)\)能跑出\(90\)。T2貪心沒過樣例能\(AC\)。T3。
T3其實就是個簡單\(dp\),然而考場上完全沒有往這邊想。
不過據說用一些奇奇怪怪的算法就算三個樣例全都過不了也可以獲得一個較高的分數。
看着自己模擬退火可憐的\(45\)分。誒。。。
技不如人,甘拜下風。辣雞游戲,毀我青春。
尾聲
HNOI2018。
沒有把該有的實力完全打出來,就像Day2T3,完全就是個傻逼題,然而還是什么都不會。
說是不要留下遺憾,但該后悔的總還是會的吧。
今年是沒戲了,明年再來吧。
滾回去擁抱學科