1. 程式人生 > 實用技巧 >ISIJ2020 遊記

ISIJ2020 遊記

注:這裡的 Day 1 是 7月1日(原本的報到日),但是第一場比賽是在 7月3日的。

比較長(我這個菜蛙比較閒而且只會寫流水賬),但是一定不要錯過 Day 8 (Math Tournament),見識一下毛子的數學題非常好玩

附:官網公告


Day -53

嚶嚶嚶,csp考成那個樣子也竟然進代表隊了。。。

嚶嚶嚶,我的npy @AutumnKite 沒進(他csp可是比我高二十多分。。可惜他在浙江。)


Day -46(第1場模擬賽)

還好不是特別難。

開場 20min 切掉 T1 和 T2(還是過遜,人家 ntf 不到 15min 就切了)。

然後開始自閉。。

發現了 T3 的“六個一迴圈”的性質,盲猜可以三分,但是不會證明,所以乾脆碼了個模擬退火(IOI賽制嘛。。珂以亂搞),一直徘徊在 77pts 左右。。。

然後 sxyz 的神仙同學 zyk 交了一發模擬退火就 AC(我人 tm 都傻了)。

然後借鑑了一下引數,才卡過去。

T4 是個嚶文閱讀理解題,讀了 1h 才讀懂。

是個挺裸的優化 dp,快速碼一波,顯然珂以倍增優化,交一發,MLE。

空間 \(\mathcal{O}(a\log a)\)\(a\) 的範圍達到了 \(2\times 10^6\),空間只開了 \(\mathrm{122MB}\) !!(毒瘤出題人)

最後 \(100+100+100+66=366pts\) 滾粗,苟上 rank6,丟人。

簡要題解:

T1:

胡亂列舉

T2:

好吧我說一下題意(畢竟比較裸):求 \([l,r]\) 中有多少個數是“上升的”,(“上升的”意思是從高位到低位不減,比如數字 \(1145\)

,或 \(23333\) 之類的。)。

\(\mathrm{Data\ range}:1\leq l\leq r\leq 10^{100}\)

顯然的數位 dp,不囉嗦了。

T3:

發現一個六個一迴圈的規律,然後把數列前兩項三分出來。

(然鵝我用模擬退火艹過去了2333。。)

T4:

T4 的做法好神仙啊qwq,不會不會qwq。(貌似珂以直接用 deque 艹過去?%FZzzz)


Day -39 (code+)

丟人,最後 1min 寫完 D 題,然後把 \(n\)\(m\) 寫反了(樣例tm是 \(n=m\) 的)。

不好意思說分數了。


Day -32 (第2場模擬賽)

由於要外出,在車上打程式碼,晃得難受。。

djq 出的題目,依然心。(裸題大賽)

T1 一開始看錯題目了(嚶文閱讀理解題,IEE)。快 1h 才切掉,心態直接爆炸。

T2 動態維護樹的直徑的板子題,算是這題的加強版吧。

直接上 LCT,複製過來魔改一發,結果還是因為一個細節錯誤調了半天,555。

T3。。。就是這題了(原封不動)。tm我複製 std 怎麼過不了?! 嗯還要判重邊,好惡心。

我不信我 2h 還切不掉 T4!!

T4 一眼就是個二分+掃描線,調了 1h+ 才出來(還是程式碼能力過遜)。

交一發,\(84pts\),TLE 了。感覺線段樹寫得太醜,再卡一卡,結果變成 \(80pts\) ?!我人tm直接傻掉。卡到最後也沒多一分。(結果重測的時候評測機變慢了又少了 \(4pts\)。。)

最後 \(100+100+100+80=380pts\) 滾粗,和第一場一樣,依然 rank6,依然丟人。

簡要題解:

T1:

無腦離線然後線段樹維護。

T2:

無腦 LCT。(怎麼這麼多人寫啟發式合併。。)

T3:

無腦 ETT。(然鵝我用雙向 bfs 跑得飛快)

T4:

無腦二分 + 掃描線。(牆裂譴責卡常行為,好歹開 2s 。。)好吧我人傻常數大,%djq神仙,%xtq神仙。


Day -31 ~ Day -18

木有任何比賽,刷完 eJOI 2017~2019 的題目。

eJOI 做題總結


Day -X ~ Day 0 (Trial Round)

原本是放在 7.2 的試機賽但是現在是線上賽所以提前了,然後這場比賽進行了一個月

T1:\(a+b\ \ \mathrm{problem}\)

T2:\(a^2+b^2\ \ \mathrm{problem}\)

T3:比前兩題不知道神仙到哪裡去了。

寫了 1h 調了 1h 然後發現複雜度是錯的,只得了 \(84pts\)

然後 zyk 給我說了說我才做出來。

T4:降智題,暴力能拿到 \(84pts+\)

過了兩天,zyk 瞎列舉就過了,我拿模擬退火艹過去了。真的降智啊!

考前幾天讓選AB組(A組難,B組簡單,去年的A組是IOI難度,B組是 eJOI 難度。)

我問了一圈,FZzzz 還給我發個:

雖然我非常菜,但是我覺得還是有一點點實力的,我應該為更高的目標至少做一點嘗試。即使拿不到金牌,甚至打銅也並沒有什麼關係,我不願為此特意換組。畢竟我也不是為了一塊牌子而放棄中考後寶貴的娛樂時間來遙遠的俄羅斯的。 ——EA

害,管他呢,就選 A 組算了。


Day 1

既然是線上,那就省略了很多步驟,不需要報到了。

這裡放個大概日程:

日期 \(14:00\sim18:00\) $19:00\sim20:00\ \ $ \(20:00\sim 21:00\)
\(7.3\sim7.7\) 練習賽 討論時間 訂正賽
\(7.8\) 數學考試 (只考到 \(16:00\) 頹廢 頹廢
\(7.9\) 盃賽(正式賽) 討論時間? ???
\(7.11\) 評獎 頹廢 頹廢

即:5 場練習賽 + 1 場正式賽。

IOI 賽制,可以看榜,每題有 \(100\) 次提交。

這比賽最坑人的是部分分需要自己猜,不在題面上寫。(啊這

P.S. 練習賽和杯賽分開評獎,訂正賽也算分。。(當然,錒氪了就不需要參加了。)

djq:不會真有人需要訂正吧 不會吧 不會吧


Day 2(開幕式)

晚上 \(6:00\) 開始開幕式。

一會兒嚶文一會兒俄文,總之,一個字都沒聽懂。


Day 3(Round 1)

這場最尷尬的是我不知道怎麼變嚶文所以我全程拿 google 翻譯俄文。。

咦?怎麼就 3 道,去年不是 4 道麼。。(預感題目難度會增加)

先開 A。憨憨題,隨便構造一下就好了,5min 之內秒掉。

交一發,然後 TLE??tm 的還要檔案輸入輸出。。

再開 B。憨憨題,胡亂數位 dp 一下。

交一發,然後 MLE??tm 的出題人怎麼這麼涼心,就開 \(64\mathrm{Mb}\)。。

然後發現 dp 的時候可以省去幾倍空間。

再交一發,然後 WA??(*&……@%!¥&#¥%……

噢,自己太慌了,把 1 打成了 i

還 WA???。。。崩潰了啊。。。

淦,原來我寫的憨憨做法會把方案算重。。。然後刪了重寫了個新做法。

最終花了半個多小時才 A 掉,慌慌慌。。

開 C。

還有 3.5 h 我不信我就做不出來了。

想了半天沒思路,交個 \(\mathcal{O}(n^3)\) 的只有 \(60pts\)

然後我迷茫了。。最優化題嘛。。我 tm 模 擬 退 火

效果不是很好,所以乾脆改成爬山演算法。

交一發,\(94pts\),再交一發,\(98pts\)。嘿嘿!

然後。。。。。。。。。。。。。。。。。。。。。。。。。。

我交了至少 50 次 \(98pts\)。。。

一會兒 WA37 一會兒 WA38 一會兒 WA41。。。

滿臉寫著 mmp。

最後我徹底裂開了,就自己指定隨機種子,最後把兩個種子拼一起在結束前 30min 才 A 掉。

C 題一共交了 87 次!!

心態完全爆炸,感覺自己被降智得厲害。應該是自己太急了,希望明天狀態能好一點。

中國隊A組 17 個人有 12 個人 AK。(我是倒數第 2 個 AK 的,沒臉了。)

djq 神仙用了 48min 就 AK 了。 stO djq Orz。

C 題正解是 \(\mathcal{O(n^2\log n)}\) (現在我還沒搞懂怎麼做呢。。)

晚上把前兩道題的資料造了造。(我人生中第一次 spj。)


Day 4 (Round 2)

還是有點慌。

A 是個又是憨憨結論題,直接輸出 \(\left\lfloor\sqrt{\min\{a_1,a_2\}+\min \{a_3,a_4\}}\right\rfloor\) 即可。

坑人的是用 sqrt 函式之後還要微調,否則會被卡精度卡到 \(90pts\)

B 來個憨憨 dp 題,10min 碼完,交上去 WA 了?!

又讀了兩遍題目,還寫了個 gen,最終發現我才是憨憨,又是手滑。半個小時已經過去了。

希望 C題 比昨天良心一點。。

希望破滅,這場 C 題更加降智!!

奇怪的分類討論細節題。。

先 rush 一波,然後 WA。(意料之中)

手捏了七八個小資料,WA 了N多發,終於把所有錯誤都調出來了。

\(48pts\rightarrow 92pts\rightarrow 96pts\rightarrow 100pts\)

還算順利,雖然調了 1h,但還是提前 1.5h 錒氪了。

stO djq 1h1min 錒氪。

stO ntf 1h14min 錒氪。

本無同競!

最後中國隊 14 人錒氪,而我又是倒數qwq。 (今天還有個俄羅斯人錒氪了?震撼!)

晚上把三道題的資料全都造了(C題資料真tm難造。。)


Day 5 (Round 3)

緊張.jpg

A 依舊憨憨,弄個字首和即可,秒掉。

然後評測機 crash 了。。。(原因是資料出鍋了)教練就讓我們先往後做。暈。

B 一看平衡樹裸題,直接上 \(\mathrm{FHQ\ Treap}\),rush 一波,然後就過了。(賽後 djq 分享了一下他的神仙線段樹做法。)

C 題看起來肥腸的神仙,然後我更神仙,沒看見題面上寫的段數 \(\leq5\) 的限制。

想了一個肥腸複雜的做法,此時 ntf 已經 AK 了,我頓時有點慌了神。(啊,原來這就是神仙!)

思路挺清晰的,直接在 Trie 樹上找區間然後掃描線,感覺寫起來好麻煩。不管了,開始碼!

碼碼碼,碼了 3h,碼了 6k,中途想要放棄,但是最後還是寫完了(我當時就好奇 ntf 為毛寫那麼快。)

還要我大海撈針,沒調多久就把一個 6k 的程式碼調出來了。

AK 以後生無可戀了,第一次考試的時候寫這麼長的程式碼。。

還是倒數第二個 AK 的,我菜是原罪,嚶嚶嚶。

賽後 ntf 和 zyk 告訴我直接 hash+map ,程式碼 1k 不到。

嚶嚶嚶,腫麼 段數 \(\leq5\) 啊啊啊啊。

我頓時炸開。(不過好像 djq 和我的做法一樣/cy)

無論怎樣,總算 AK 了。

感覺難度每天在遞減,今天中國隊一共 15 人 AK。還有兩個俄國人也 AK 了,奶一口明天 3 個歪果仁 AK?(霧

C 題我準備造了加強版,放心不會鴿子的!!!(惱


Day 6(Round 4)

最自閉的一場。

因為惡臭的主辦方拉了 IOI 原題。

A: IOI2007 D1T2
B: IOI2007 D1T3
C: IOI2006 D2T2 (目前luogu上沒有,不過可以去官網上找)

A 題打破了常規,變成了個神仙題。

不過沒多久我就發現把平面圖轉對偶圖一下就完事了,然鵝我不會轉,所以就先扔一邊了。

B 題就肥腸可做了,想了個樸素的貪心交一發就有 \(55pts\) 了,然後用平衡樹隨便維護一下大約在 1h 的時候就過了。

C 題一臉不可做,就又轉 A 了。

不會轉對偶圖啊嚶嚶嚶,最後無奈開個小窗網上剽了個板子,魔改一下,瘋狂 WA 成 \(55pts\) ??

還剩最後半個多小時的時候發現圖還可以不連通?!太毒瘤了,不過過了之後就很舒適了,由於有訂正賽所以 C 做不出來也沒關係了。

最後亂寫了個還騙了 \(24pts\)

最終 xtq,djq,crn 三人 AK,我排 rank 4。雖然沒有 AK,但是排名還是很好的。(畢竟題目很難)

老師組織了一下講解,發現 C 並沒有想象中那麼難,訂正賽的時候就切了(算分的時候還是和 AK 一個得分的/cy)。

感覺還好。


Day 7(Round 5)

今天感覺太累了,上午就睡了 3 次覺。希望下午不會萎掉。

炒雞緊張.jpg

開題。

咦,這個 A 怎麼似曾相識?

咦,這個 B 怎麼似曾相識?

咦,這個 C 怎麼似曾相識?

這 tm 不是作業(eJOI)麼??!!

A:eJOI2017 D
B:eJOI2017 E
C:eJOI2017 F

i了i了,這場就看你有木有好好寫作業了。

55min AK。

中國隊一共 14 人 AK。

是時候再宣傳一波 做題總結 了 /cy。

zyk 好像因為沒寫作業這場涼涼了。


Day 8(Math Tournament)

題目(blog 裡無法顯示錶格所以就放剪貼簿上了)

比賽經歷+題解?

雖然只有 2h,但是能寫 cpp 就方便許多了。

而且是 IOI 賽制??!!不過只能提交 \(3\) 次。

T1 相信是個人都會,直接輸出 \(\lfloor (6^2-4^2)\pi\rfloor\)

T2 相信是個人都會,答案:\((3,3)\)

T3 直接拿幾何尤拉公式算一下就好了。答案:\(30\)

T4 懶得算,直接敲個 \(\mathcal{O}(n^2)\) 的 dp (當然爆搜也可)就好了,答案:\(162\)

T5 考察 for 迴圈的使用(霧),答案:\(44\)

T6 注意到 \(\sqrt[3]{x}=x^{\frac{1}{3}}\),左邊可以表示成 \(x^a\) 的形式,顯然 \(a\) 無限趨近於 \(1\),所以答案就是 \(100\)

吐槽:T6 出題人沒寫省略號,想要當場做出此題必須與出題人心意相通。

T7:不太會下國際象棋嚶嚶嚶,不過用那個網站(題面上的那個連結),自己跟自己下,每個可以走的點都試一下就出來了(大霧)。答案是 \(\mathrm{G6}\rightarrow \mathrm{C6}\)

T8:不知道有木有大師能手推出來?寫個 bfs/迭代加深 就完事了。答案:\(14\)

T9:懶得算了所以就 next_permutation 一下,答案就是 \(3999960\)

T10:\(x_1\) 一定在分子,\(x_2\) 一定在分母,剩下的隨便,答案就是 \(2^{10-2}=256\)

T11:不會,希望有神仙教教我這個菜蛙。其他各路神仙有寫程式的,但是 GG 了。(這程式難寫死了。。)

T12:原題面沒寫點不能重複經過,這時候就需要和出題人心意相通。

所以交了 \(3\) 發 “正解” 都 WA 了,徹底吐了。

答案:\(1\rightarrow6\rightarrow11\rightarrow16\rightarrow12\rightarrow3\rightarrow2\rightarrow9\rightarrow13\rightarrow10\rightarrow7\rightarrow4\rightarrow8\rightarrow15\rightarrow14\rightarrow5\)

最後我只 A 了 \(\mathrm{T1}\sim \mathrm{T10}\),並列 rank11。(有個俄羅斯人竟然 AK 了!本無同競。)

考完有點裂開。。。

明天盃賽加油吧!!


Day 9(Cup)

給自己說這 ISIJ 並不是很重要,然後就沒有那麼緊張了。(霧

4 道題目的分數比較鬼畜,是:\(120+120+100+134\)

我也不知道我怎麼想的就先開了 B,不會,再看一眼 C,有趣的串串題,但是感覺沒那麼簡單,又扔了。這時候 xtq 已經切 A 了,我趕緊拐回去看 A。

發現是個憨憨貪心,但是細節很噁心,需要用點幾何知識。

用相似搞了搞感覺很對就開始碼了,然後果不其然 WA 了。

開始手造小資料調,調到最後發現 xy 打反了 (捂臉。

過掉 A 的時候快 1h 了,有人已經過了 T2,我更加慌了。

快速碼個暴力然後打表找規律,找了兩個假規律,交上去 WA WA 亂叫。

最後終於找對了但是感覺要寫高精度(沒想到還可以取對數)就棄療了,\(110pts\) 滾粗。賽後發現 B 和 這題 幾乎完全一樣,zbl。

然後開始淦 C 的暴力。直接碼個 SAM + 線段樹合併,WA 慘了。

調了半天發現由於我是線上回答詢問的所以線段樹合併的時候需要新開節點,還是自己沒把線段樹合併學好啊,暈。

過了 C 的 \(60pts\),只剩 1h 多一點了,目前 rank15+,感覺要跟 Au 說再見了。

剩下準備全面淦 D,說不定能翻盤。

啊這個 D 就輸入一位數,但是是 \(10^{10^5}\) 級別的,感覺有點 NB。這時候已經有人的 D 拿到了 \(70+\) 的高分。

突然間靈光一現,想到了一個拓撲排序的 \(\mathcal{O}(n\log n)\) 做法。能拿多少分聽天由命吧,\(n\) 的範圍為這麼大感覺也拿不了多少分QAQ。

寫寫寫,調調調,WA WA WA,可能腦子有點渾,導致調不太動,但我強制使我保持冷靜,最終在結束前 5min 調出來了,交一發竟然得了 \(70pts\) ?!然後就翻盤進前 10 了?!

剩下的時間一直在看榜,親眼目睹 ntf 翻盤翻進 rank 2 然後吊打 djq,我有被嚇到。我就比較遜了,rank 8 滾粗。


Day 10 (closing)

下午緊急通知閉幕儀式提前到晚上 \(6:00\) 了。

兩個人唱了半天二人轉,還是一句嚶語一句俄語,全程只聽懂了 IOI,IOI,IOI…… (估計又是在打什麼廣告)

實際 A 組 Au 數量比預想的多很多,有 14 個。可笑的是我就算沒翻盤也是 Au (笑。

最後我全球 rank 8,A 組 rank 7,綜合全球 rank 4 滾粗。

無論如何最後 Au 了。 /cy

zyk 雖然考炸了但還是卡線 Au,感覺他可以去買彩票了。

stO xtq Orz 捧杯,(然後主辦方還把名字打錯了,打成了 Xu Tinghang,xswl。)

stO ntf Orz rank 2,綜合 rank 1,本無同競。

晚上官網就出公告了,佩服 CCF 的效率。(不過人臉網上亂剽,素質夠高!)


Day 11

還有不到 1 week 就中考了,滾回去學萬惡的 whk 去了。QAQ。

大家祝我中考順利吧。/qq