NOIP2018遊記
$Update~On~11.18$
$$\large\text{出分}Day-1$$
這幾天在學數學,有了點反演基礎,然後學了波杜教篩,找點例題?網上好像沒很多題可做,找了個題,$NOI$的,聽說是好題,一個黑的,剛了一天(推了5頁) ,也算是一半是自己推的吧(我還沒有獨立完成過反演題) ,想到明天$NOIP$出分,不知道還能不能繼續學下去,就在這裡隨便寫點東西吧
$$\large{September}$$
暑假還是一如既往的頹廢了(六月份還在天天做橙題,真不知道我暑假第六是哪來的,要是不退役,真的就不能再刷水題的,也是給大家一個警告吧:難題不會?看題解可以,只做水題不行)
剛開學,前五就停課了,而我處於尷尬的第六(而且我之前還挺喜歡學高考) ,有些人也是要停課,但是教練沒有允許。
才發現自己已經不適應學高考的生活了,隨著前五都一個個停課了,我才意識到$NOIP$快到了,本身就菜的我如果不能停課,差距只會增大。
接下來就是力求停課,一開始是見縫插針,把下午的課和晚自習停掉了(副科高一就停了) ,然後看到別人有的班管的鬆,已經基本上是全天停了,做出了最終停課的決定,就利用樓下樓上的資訊不對稱,跳過了批准,基本上是全天停的了
九月份開始,考試就挺多的了,暑假完之後成績稍有退步,一開始不以為然,只是覺得不穩定,然後有次考了個$120$,這種分原來也不是沒有過,只是這次真的是$NOIP$題,教練也警告了我
下午就不知所幹,無心做題,在外面走了走,平復了下心情,做出了讓我$NOIP$能上四百的最重要的一個決定
下午晚上就什麼都沒有幹,針對$NOIP$制定了一個超詳細的複習計劃,涵蓋接下來的三個月
命名為“秋季風暴”,希望能像風暴一樣掃清一切發展的障礙
沒錯,它就像一場風暴
九月底,$NOIP$前的可以說是最輝煌的一個時期了,從第十左右一路反殺,穩定在前五,$Rank$前三也拿過好多次
隨即收到訊息,說是國慶假期培訓,本來考慮了,可能會影響我計劃的執行,但是最後還是決定培訓完動態調整
培訓前一天晚上,和同學出去吃了點飯,然後頹了會
$$\large{October}$$
培訓如期而至,只是和我所想的略有不同,$Day1$省選數學(就是我這幾天剛學的) ,走了不到一分鐘神吧,一天連定義都搞不懂,晚上未來的隊爺跟我$QQ$上說不會,我說都說了是省選內容了,我不用會。然後他$fAKe$了句,嗯有理。後來應他要求,我還是推薦了個集訓隊大爺的部落格給他(那時候我還沒看過) ,然後他就會了(我還能說什麼。。。)
之後幾天是一如既往的懵逼,都不知道幹什麼了
然後發現我原來的整個計劃都被打亂了,“秋季風暴”走向了崩潰
有的人就是聽課特別有用,但是我,應該是因為思維慢,容易跟不上,然後一旦一個地方跟不上,一天就涼了
我就是自己找資料自己學的效果更好,畢竟學什麼的時候,想到的擴充套件的東西也比較多
整個十月就變成了一個恥辱的歷史,月底我也試圖制定其他計劃來挽救,但是為時已晚,只能看著名次一步一步掉到倒數
$$\large{November}$$
最後還是要$NOIP$了,考前再熟悉下模板吧,然後就花了好幾天敲板子,“秋季風暴”的遺產也給了我很大的幫助,熟悉了下各種巧妙的解題思路,但是心態還是不太穩定,各種雜事挺多,總之就是打板子的幾天
$$\large{Day-1}$$
挺平常的一天,當時應該是為退役準備最充分的人了吧,想到四機房能用的機子本來就不多,就在電腦上新建了個沒密碼的賬戶,以後給學弟學妹用
晚上沒上晚自習,回家收拾了下明天的東西,本來說要早點睡,之後也沒早睡成。。。
$$\large{Day0}$$
在火車上,旁邊是一個學弟,不知道是哪個校區的,他之後就做到其他同學旁邊去了,然後開神犇就坐過來了
火車上頹了會,然後就是吃飯以及跟開神犇聊了會天,之後稍微睡了會,也沒睡著就到了
到賓館,住的房間比省選摸魚的時候要好,然後去試機,他們都在敲各種資料結構,但是我一個也不會,也是不想敲了,敲了個$Hello~World$,$A+B$還有個快速冪就走了,$wzy$和$tbl$也走的挺早(不知留在那試機能幹啥)
晚上回賓館,有些記的不太清楚的板子,又看了下,然後就沒怎麼學習,習慣考前不學習了,跟他們聯機玩了會,但是網速實在是慢,不是很爽啊
之後學長講了些注意事項,回去就沒幹什麼,早點睡了
$$\Large{Day1}$$
$$\text{考前}$$
$Day1$呢,本來就打算著儘量往高裡拿分的
早晨,不知幾點(後來知道是五點半),感到周圍一陣巨響,強烈的震動感,大概有些意識了,發現是手機振動,一看是鈴聲,我就掐了
然後是$5:40,5:50,6:00$,直到$wyt$醒了,他沒關手機鈴聲。。。然後就多睡了會
基本上是最後一批去吃飯的,被催了半天,隨便吃了點很隨便的伙食,教練送了條士力架帶進考場吃
$$\large\text{考試開始}$$
密碼一次就輸對了,很開心,也算是佔得先機吧
$$T1$$
讀懂題意之後,有點驚訝,這不是那個積木。。積木什麼來著
貪心思路還記得,但是一時竟忘了怎麼做,只是記得挺簡單
後來想了想,掃一遍就好了(想看題解自己去找吧,我就不再說了)
然後直接過兩個樣例
做完$T1$,看了看錶,才過了十分鐘
$$T2$$
現在是綠的,感覺自己很菜
讀懂題意,看了下樣例,突然想到,如果一個數能被其他數線性表出,那肯定不用選
但是不知道選擇截然不同的數有沒有更優方案,假裝沒有了吧。。。(這種做題態度,我還能說什麼)
然後問題就轉化為了考慮一個數能否被其他數線性表出
然後就懵逼了
想了半個多小時,瞎歪歪出來一個計數$DP$做法,能拿$80$分,當時覺得$T2$能拿$80$不虧,就做$T3$去了
$$T3$$
一眼二分,然後就懵逼了,考慮各種$DP$啊,貪心啊什麼的
最後一種沒有被我自己$Hack$的方案脫穎而出,大致證了下正確性就上手去寫
寫完過了編譯,測了發樣例,三個全過,當時都想喊出來,$280$分了
啊啊啊特別激動,激動的我一下吃了一整個士力架(平時吃不了太甜的,所以哪能一下吃了這麼甜的東西)
看時間,還有一個半小時
$$\text{優化與除錯}$$
$T3$看資料範圍複雜度應該是$O(nlognlogn)$的,但是我在$set$上二分有三個$log$,而且有大常數,雖然其中兩個$log$都是假的,但是菊花圖就能卡回原形
造了個數據,果然跑不過去,考慮優化,卡了波二分邊界,然後就穩過了
之後怕二分邊界卡錯了(雖然證出來,這樣是闊以的,但是反正也閒得慌),拿卡了的和沒卡的拍
拍著我就去看$T2$了,還是沒什麼正解思路,但是發現我的技術$DP$最後只用判可行性,於是加了個大剪枝
$O(25000*25000*20)$的演算法跑隨機的資料穩定在五六百毫秒
然後看$T3$,竟然拍$WA$了,出人意料,原來從來沒想過會拍出錯來
經過不斷努力,發現菊花圖容易死,當時有點懵,不知道是咋,最後也就沒時間了
$$\text{考完}$$
本來是說考完堅決不對答案的,結果一想能拿至少二百多,就不慌了,說說也無妨嘛,可能是一樣的心態,大家也都在說
回賓館之後,驗完程式,大部分人都沒事(wzy少了兩個,不過都找回來了) ,開啟洛谷,民間資料還沒有登陸,就把$T1$交到積木大賽,$AC$雖然是意料之中,但是也是挺開心
有點累,就躺了會,等到了$T2$的民間資料,交上去,$A$了!暴力加剪枝把民間資料碾過去了!
但是隨後就傳來噩耗,說資料加強了,象徵性地把我卡到$95$了(笑哭)
$T3$的資料咕咕了,然後我就到處翻點東西,看都在說什麼,才知道$Day1$三道都是原題。。。ε=(´ο`*)))唉我還能說什麼,只做過一個
之後聽說甚至一個題是考前教練給的複習幻燈片上的題,很多人都做過,而我恰好沒看
下午按計劃去看海,$zzh$挺早就來找$wyt$了,他們本來還叫上我,但是我因為提前跟$yzh,zyc,zyz$約好一塊去的,就沒有去。@某人,虧我還等你
之後才看到$QQ$上,$yzh$大概半個小時之前叫我去,然後我就問他在哪,他就發了個馬路的照片。。。(什麼人啊,也不來找我)
那還去個毛線啊,之後就等$wyt$和$zzh$回來一塊吃的晚飯
吃完飯回來,看到$T3$的資料到了,測了發,$80$,跟別人討論了下做法,都說我的做法是假的,就是個騙分(這裡留坑待填)
算了算了,不管了,騙到80就跑 ,所以洛谷上$Day1$最終是$275$分
晚上看到大家好多人都說要$Day2$翻盤,我當時很天真啊,一個是認識到自己很菜,$Day2$不被拉開差距就好,另外也是覺得$275$挺高了(後來才知道那麼多$290$以上的)
晚上又強調了點東西,一個是說題簡單,拉不開差距,另外就是說明天題可能很難,寫好暴力
之後聽兩個教練說考的不錯,嗯,那第二天繼續加油
$$\Large{Day2}$$
$$\text{考前}$$
$Day1$之後,我的目標就從保省一變成了衝省隊
早晨的鈴已經被$wyt$關了,睡了個好覺,早起去吃飯,沒什麼人,精挑細選了一番,發現真沒什麼好吃的,草草吃完,教練又發了兩個脆脆鯊
$$\large\text{考試開始}$$
密碼還是一次輸對
$$T1$$
旁邊是個唐山一中的大佬,我還沒讀懂題,他就好像把$T1$切了,然後我發現,這不就是個裸的$prim$嗎
花了幾分鐘敲完,過不了第二個樣例
然後發現自己讀錯題了,感覺$T1$受旁邊人干擾挺大的
之後看了會,不會,先敲好暴力,$60$分,明顯不夠啊,又想了想,最後還是沒想出來,算了
時間:開考一小時
$$T2$$
好不容易讀懂題意,毫無思路,看資料範圍,像是狀壓,但是時空複雜度好像都不對
不妨先寫個爆搜,看有什麼收穫,想了想,不好寫?容斥一下好像就比較輕鬆了
於是一個$O(2^{n*m})$的爆搜就誕生了,$2*2$的樣例輕鬆過掉,但是$3*3$的就萎了
當時是真的懵逼了,搜尋寫萎,心態爆炸
於是啃了個脆脆鯊,然後去廁所遛了一圈,調整心情
手畫了下$2*3$的情況,和程式跑出來的一樣,就拿一個自己都不確定正確性的程式打了個表
做好了$20$分的準備,時間:開考兩小時
$$T3$$
好像做過原題,就是在樹上覆蓋的問題,一個點打標記能覆蓋與之相鄰的所有點,在每個點打標記有個不同的權值
寫完發現過不了第二個小樣例,不知道為啥,還好是小樣例,手畫了下,和程式結果一樣
果然是又讀錯題了,改了發轉移方程,就順利過了所有樣例,$44$分$get$
$$\text{沒時間再幹什麼了}$$
然後就只剩十幾分鍾了,查了下檔案,$T3$的$.out$寫成$.ans$了,還好查出來了,其他的就沒有問題了
$$\text{考完}$$
大巴已經在門口接了,回賓館拿上行李,直接趕往火車站,$yjc$一句列舉刪邊,我$T1$直接會了,蠻可惜的,但是誰讓自己想不到呢
好像很多人都切掉$T1$了,大佬們都很厲害,我估的$154$,這個分呢,洛谷上高點是$159$,牛客和校內資料是$154$
火車站吃了點德克士,就趕火車去了
才知道很多大佬$Day2$都有點炸,我發現他們有一個共性,就是剛$T1$太久了,然後導致沒給$T2T3$留夠時間,這樣一慌亂,就容易出錯,或者該拿的暴力沒拿到(當然還有一類神仙是剛$T3$,調動態$DP$)
其實我這個小蒟蒻$Day2$也是因為時間的關係,沒拿全暴力分的,讀錯題和暴力寫萎確實耽誤時間
所以發現時間分配是很重要的啊,平時考試一個都不會的時候的時間分配的經驗教訓讓我不至於死在$NOIP$上,畢竟$yjc$那種一個小時拿滿兩道題的暴力分的神仙極為罕見$orz$
回去的火車上,不知道該幹啥(沒有網) ,心情複雜,看看窗外的景色吧,問自己一切都結束了嗎?
經過兩天的大起大落,真的累了,就睡了會
回家在洛谷上測是$434$,牛客上是$429$,聽說學校內部資料是$444$,看來成績還是比較穩定的
不知道是因為在車上睡了還是心事太重,晚上睡不著,在真正面臨退役之前,從沒體會到過這是一件如此可怕的事
演算法競賽,不敢說是一種信仰,但是當你走入其中,它一定是一種無法捨棄的情懷
設計出一種演算法,通過不懈的優化,以優秀的時間和最少的資源佔用解決一個問題,這真的是一個無比快樂的過程