省選
2017年4月23日
流水賬式游記,不喜勿噴.
Day0:
准備出發,上午敲了一頓板子,板子敲完了就打小游戲,老師也不管了.
過程中各種奶,說什么今年一定考仙人掌啦,今年一定考字符串啦,今年一定不考FFT之類的.
高二的同學都有點亢奮.畢竟最后一戰了(~~).
中午jzyz四人組吃了一頓聚餐.算是最后的道別,當然,不知道是誰與誰的告別.
下午兩點上車,3點半左右到達,幸好車上有空調,否則我們都要煮熟.
在賓館休息了一會兒后,四點左右去試機了.
試機不錯,調試了機子后,發現機子除了慢,並沒有什么其他問題.
對拍什么的經過調試也無大礙.很順利.
工作人員看起來也很負責,為了解決藍屏問題將win7換成了xp,並且加了一些不錯的軟件.
心情一片大好.
回賓館的路上,與隊友討論了一番今年的題目可能會出成什么樣子,各種立flag.
晚上看小說看到10點睡覺.
做夢夢到了好幾次看到了成績單,但是畫面模糊,沒有看到我的名字,很好,沒影響心情.
Day1:
早上7點起來,叫醒syq,又浪費了很多時間后,差點沒吃上飯.
進考場,果斷敲各種bat,makedata.cpp,right.cpp備用.再敲上常用的空白程序板子.
題目下來了;
T1:求去掉哪些邊后,最大獨立集的數目+1.輸出可以去掉的邊.(題意已經翻譯).
數據范圍n到了10000,m到了150000.
O(m*dinic(復雜度))枚舉肯定不行,先標記個暴力50分吧.
這時候我心情就有點緊張了,第一題會不會是個SB題?但我沒過多研究二分圖,無法找到性質,怎么辦?
郁悶的看第二題.
T2一個后綴數組題目,但多組詢問,n到了1e5詢問,1e5
又是這種感覺沒什么思路的題,但暴力40 n^3還是很好搞的.
T3:這不是某年WC的題目嗎?處理所有環,然后扔線性基,玩個線性基最大值就行了.
結果發現位數到了1000,我了個擦,一次線性基復雜度驚人.
而且多組詢問,每條加入邊存在於一個區間,刪除轉分治就行了,但是如何計算加入一條邊的貢獻,GG.
還是暴力,搞個玄學暴力吧.
看完三道題,一點思路沒有全是暴力,頓時抑郁了.
然后剩下三小時碼暴力.
網絡流,碼起來容易.手玩小數據+眼查沒問題就放一邊了.
后綴數組我昨天試機就敲了一遍,再次敲完,沒問題,敲了40拍完寫T3.
第三題本來由於不開O2想着自己寫個壓位的Bitset,但是寫到一半感到了惡心,替換成bitset算了.
寫寫調調終於寫完了T3.測了下樣例一遍過,自己又夠了幾組數據沒問題.
不放心,把bitset換成int測一下,沒問題,再眼查一下,不管了.
然后這時候就已經快結束了,但馬上延時了半小時.
開始檢查,發現第二題開個5000*5000數組搞個前綴Max即可優化到nQ,有60分.
最后也就把三道題的暴力交了上去.
出來,驚!stdcall直接就說問有多少個上兩百的,Mike說他們做過第一題原題(后來我聽數據范圍不一樣).
好幾位大神說自己要退役了,但實際上我感覺沒什么,上午大家都暴力嘛,拉不開分的.
吃完飯,回去很快就又開考了.
這時候心情已經完全放松了,准備好好搞下午,爭取AC一道.
發下PDF.發現出題人各種鍋,PDF上有很多錯誤,但還好不影響做題.
第一題一眼DP,但狀態轉移不好做.
第二題看完前半部分發現是個SB題,然后緊接着發現他換了比較規則(這出題人坑啊).
沒什么想法,20暴力吧.
認為第一題更可做,准備全力搞第一題,雖然第一題看上去我也找不到轉移的規律.
先暴力碼碼.碼完發現題意理解錯了,每次是三個維度選一個加上一些1,而不是隨意加.
好,題目簡單了不少.每個維度單獨算,做DP即可.
直覺上這道題和二進制中的1有很大關系.
打個表看了一下后發現結論對了,然后想怎么狀態轉移.
寫了個log4 n的預處理,但調了很長時間調不對.
這時候發現已經3點20多了,離結束只剩一個小時了,第二題暴力還沒打.
決定到半點再調不出來就棄了.
看了遍程序猛地意識了自己之前的錯誤思路還殘留在程序里.
改掉,我直覺上,這次沒問題了.測了幾個手玩點,正確了!
這道題,最困難的部分已經解決了.
解決了轉移問題,但還有障礙點問題(我后來才看到這玩意).
不虛,直接套棋盤模型,但這么DP是o^2的.
上NTT?沒法上啊,都不是卷積上個鬼.
難道是預處理轉移搞分治NTT?算了沒時間了,總比20分強.
干脆寫個記憶化吧(保佑數據水一點,o^2不要跑滿).
寫完第一題拍完,去寫第二題,暴力碼了20分,然后眼查一下,就開始等結束.
考試終於結束了.
然后就是等成績,中間聽老師說上午最高的是我的90分,60分的2個,40一大堆.
Mike等表示自己上午第二題寫完拍完怎么着都不可能跌下60,怎么60分的這么少.
感覺HA省又要出事故了,提心吊膽.
和syq討論了一下下午第一題,他的DP是O(o)的,我認為我的DP沒問題.
等到下午6點多,成績出來了.從台階上跳下去一看,發現自己rnk1了,然后看同校神犇的成績,發現jjh和syq以及wyj都進隊了.省隊還有Mike,rapiz等,能進省隊的人都很熟悉.
然后就是看成績分布,上午90,下午70,上午第一題第三題出錯很正常,所以我也沒怎么糾結,下午o^2被卡成50也在意料之中,很強的一點是syq下午近乎A掉了第一題.
我很納悶,難道我的DP是錯的?還是那個DP還可以優化?
接下來很多選手說上午的第二題的60對拍沒問題,上午分卻很低,不科學.我也覺得不是很對勁,HA又要出鍋了.
但天快黑了,我們必須走了,拷走了上午數據后坐大巴出發.
在回去的路上,stdcall在通訊上提出空間開小了,發現一看確實如此,老師就拿電腦開始重測.重評完了上午150,正常了.
Day2-4
最近幾天確實過得很無語,因為河南省計算機協會一直不發最終成績,我們也很心亂.
雖然從我們自己測的成績我是沒問題的,但結果最終會影響我們學校的.
同時這幾天也爆出了一些鍋:
1.內存開小
2.沒開忽略制表符和行末空格.
(HACF怎么這么不走心呢?這些都是lemon非常需要注意的啊,我來搞評測絕對不會在這種問題上出鍋).
3.下午第一題數據過水,所有障礙點都不影響最終答案.
(正解居然O(o^2),卡常技巧先進啊).
(最后我用最強的數據測我的程序,是會被卡一些的常數的,但我寫了記憶化,所以復雜度近乎O(o)了).
(我猜出題人沒看出來自己的數據的問題,否則這樣卡常是會被裱的).
4.下午第二題數據過水,我的原來是准備水20的程序水了60.
2017-04-26
終評成績出來,評測結果與本校評測結果差不多,我認為差不多算是個結束了.
jjh和qyj准備申訴,但是我認為申訴理由並不是很充分,因為數據的話,只能說不好,不能說錯誤了.
對此事我中立.當然也可能是我不是當事人感受不深吧.
HAOI算是結束了,這件事也可以告一段落,下一步就是CTSC和APIO了,這些日子HAOI也確實影響了很多人,確實到了干些實事的時候了.
以后再見了!
(我第一次寫這么長的游記,很贊啊).