Preface
第一次打4C,不得不說中國大學生膀胱容量競賽名不虛傳
下午一點半開始的比賽結果早上八點過就要起床去坐校車,結果起晚了早飯都沒吃就被迫雨中衝刺了
到了美麗的成信大後就開始消磨時間,和祁神來了把激情軍旗,直接引來集訓隊十幾人觀戰
午飯竟然有中式自助,我直接狠狠炫了兩盤,結果感覺吃的有點多了有點昏昏欲睡
而且由於害怕比賽的時候忍不住上廁所一個早上都沒怎麼喝水,中午直接爽造了好幾杯飲料,這下感覺前功盡棄了
吃完飯後又在考點門口磨蹭了好久才可以進場,好傢伙結果剛坐下來才發現比賽已經開始了,遂開始評鑑4C的shit題
Duration
反正我也沒有搶後面一血的念頭,遂從前往後慢慢摸魚開題
L1前面幾個題都是閱讀題面難度大於寫程式碼難度,靠著連猜帶蒙勉強應付了過去
然後就做到了臭名昭著的貓娘題,剛開始Rush的version過不了最後一個樣例,對著題面看了半天才猜出應該是按順序處理每個詞在前
然後一交發現WA了兩個點,看了眼程式碼感覺也挺正常的,想不到出錯的點
後面冷靜思考了下,發現題面讀入的敏感詞裡可能就有<censored>
,或者因為替換了後拼湊出了新的違禁詞
然後就在模擬的時候順便維護了下每個位置是否是被替換了的,雖然中間寫了一堆唐氏錯誤,改一個地方交一發,最後也是挺快的過了這個題
然後後面一路沖沖衝寫到了另一個臭名昭著的字串處理題,但因為我當時想著偷懶直接寫了map <string,vector <string>>
,結果直接光速寫完一發過了,就沒在這題上浪費太多時間
L2的最後那個一眼搜尋,剛開始很套路地寫了先搜出所有合法的行狀態,然後一邊搜一邊剪枝的做法
交上去發現只TLE了一個點,於是盲猜肯定是9 4
這種情況,遂本地開了個O2然後開始大力跑,結果跑了20s左右馬上就跑出來了,加上去也過了
L3-1也是個頂真題,光速寫完過了後發現時間還有90min左右,然後此時看了眼題面列表發現後面兩個題都沒人過(其實是L3-2資料出鍋了),就不著急先把兩個題都看了遍
L3-3是個經典的九條可憐題,而且看上去是個幾何,遂先扔了滾去寫L3-2了
L3-2有個很顯然的二分策略,但要找到最小的合法區間感覺要找某種資料結構來維護下左/右兩側到當前位置的距離
而且在倉庫的位置移動時,左/右的距離會有+1/-1的變化,可以拿一個變數維護下,然後大力寫線段樹維護區間和
但實際寫的時候就發現由於會有兩邊可用長度不等長的情況,而且計算貢獻是要查詢的東西也很抽象,搞了半天一直寫不過樣例就直接紅溫了
後面一想寫不出就索性開擺,直接先Rush了個暴力交上去騙點分,好傢伙結果發現直接21pts到手,這還寫個勾八正解啊,直接扔了不管了去看L3-3
L3-3有個很顯然的\(O(n^3\log \frac{1}{EPS})\)的做法,大致思路就是先二分答案\(r\),然後用一個二元組\((a,b)\)表示當前機器人抓出了哪兩個點
狀態轉移的時候就考慮列舉走到的點\(c\),現在其實就等價於判斷以\(a,b,c\)為圓心,\(r\)為半徑的三個圓是否有交
但由於我在平時訓練中從來不寫幾何,幾何水平僅限於口胡了,一看時間只有半個小時了感覺也寫不出來這玩意了,遂開始擺爛看榜
結果發現axs這道題有1pts,我就開始想是不是有什麼好寫的特殊Case可以騙分
後面直接擺爛寫了個找兩點間距離最大值然後除以二輸出的做法,沒想到交上去真水到了1pts(後面知道這個點是\(n=3\)的情況,那確實怎麼寫都能過)
剩下10min就開始無聊刷榜了,發現這場前面兩道字串處理原來腐乳了一大波人,可能我們學校好多人都是前面被搞紅溫了/時間耗完了,導致後面L3-2送的21pts沒寫,然後就爆炸了
最後電專在有兩個隊出征WF的條件下勉強打了個Rank6,還好保住了高校的金獎沒有顏面盡失
同時由於運氣好被分進了一隊,因此也混了個團體Rank6,而且沒拖後腿不當戰犯就算win
最後今年個人的國一線248也是得以混上了,又狠狠地水了綜測加分,贏
Postscript
由於校車要六點才回去因此順便再嫖了頓晚飯,但由於不是自助了也沒怎麼吃飽,悻悻而歸了屬於是
總而言之雖然4C打起來很沒意思,基本就是在寫傻逼題/構式題/寫暴力的路上,但能水獎項的比賽就是好比賽,就希望明年能人性化一點放過孩子的膀胱吧