Day -???
校內驗題,大家前 45min 都在痛苦面具。
Day -??
提前熟悉了一下這個 CCPCOJ,看了一下它的幫助手冊,發現有一些很神秘的點,比如 cerr 會返回 RE。
Day -?
赤橙黃綠藍紫來驗題,03:58 AK。大概是一邊打,出題組就在一邊觀摩程式碼。
B 寫了個 10 維 dp,然後賽後 uphack 掉了他們 B 題程式碼(
錢哥毒奶:
我感覺有榜情況
沒人 B 會寫 dp 的
J 題寫了個 priority_queue,但是由於手速太快並沒有耽誤 AK。
G 精度爆了一發之後直接 float128 透過。
Day -2
前一段時間 fstqwq 老師在他的電腦上裝了一個 CCPCOJ,發現了若干神秘問題,部分已經得到修復
- 可以直接程式裡偷取答案檔案。
- 沒有 wall time limit,一個題能測半小時。
- 大量交替輸入輸出的題,python 和 c++ 會因為讀入時重新整理緩衝區 TLE。
- 上傳題目包的時候,可能把含有 check 子串的 solution 識別成 checker。
- ……
最後因為害怕資料過多造成評測擠兌被噴,削減了資料點的總數。
Day -1
週五晚上坐飛機連夜到了濟南。
Day 0
凌晨入住賽場邊酒店,由於上午就要列印正式賽題面,就把題面又查了一遍。發現了若干錯誤。
- 中文題面頁首寫成了“2024中國大學生程式設計競賽(濟南)”,但標題是“第十屆中國大學生程式設計競賽(濟南)”,沒對上。
- 由於 OJ 上題面並不是正常 tex 格式,沒有辦法在正文裡顯示其它 pdf 的內容,所以我們精心畫的向量圖都要轉成 jpg 然後重新傳上去。
- C 的 checker 用的是 long long,可能會溢位。但實際上我們也不知道這道題的答案上界,嚴謹起見 fstqwq 速速聯絡出題人親自指導修改 checker。
- ……
熱身賽題目已經印好,所以這個時候檢查出錯也沒救了,於是就不查了。
幹到凌晨 2 點大概終於累到不想修了,也大概沒有什麼遺漏的地方了,大火就回房休息。
然後早上 8 點成功被外面的廣場舞吵醒……發現原本放在枕頭邊上的手機連著資料線掉地上了,一拔一看發現接頭歪了。悲劇。
然後 9 點大家在酒店吃早飯。質量只能說是能吃。
吃完後然後林老師被派去監督列印正式賽題面,剩下逆命跑去賽場坐牢。大概先面見了 SDU 鹿老師,東北大學秦皇島王老師,CCPCOJ 的開發者郭老師等等。然後研究了一下怎麼接入裁判室的內網,連上之後進 OJ 匯入了熱身賽的題目。交了交各種測試程式碼幫評測機熱身,看起來測得不是很快,有點害怕。然後評測組說只開了 1 臺評測機(2 個核),一共有 5 臺所以不用太擔心。
中午氣球組問我們怎麼設定顏色,回覆:隨意。於是氣球組就自己安排了 13 個題的顏色,並且馬上就就把氣球貼在場館的玻璃上提前一天劇透了。然後遇到了典中典問題,怎麼把氣球顏色匯入到 OJ 裡。聰明 fstqwq 曰:“gpt 解千愁。”於是聰明的 gpt 識別出了所有的顏色,並給出了 16 進位制 RGB。拜謝!
由於 zjj 十分無聊,甚至要在裁判室掏出爐石,於是被髮配到大明湖,他一邊遊一邊往群裡發照片直播。然而林老師才是最苦的,每個隊伍有 3 份中文題面 1 份英文題面,每一份題面都有 15 張紙……所以從上午 9 點一直等列印到下午 4 點。最後所有題面都運送到林老師的酒店房間裡。
在列印店坐麻了
下午熱身賽有 5 個簡單題,果不其然 30min 的時候出現了評測擠兌,waiting 衝到了第 3 頁,大概要 2min 才能出評測結果,感覺尚可接受。老練 fstqwq 言:“熱身賽不出問題,正式賽就沒有問題。”
翻看評測記錄的時候,我發現了若干個神秘的 OLE 提交,突然大家緊張起來,趕緊問了問旁邊的郭老師。郭老師回說,他記得 OLE 觸發條件應該是當選手輸出位元組數大於 \(kx+b\) 就會觸發,其中 \(x\) 是標算輸出長度。然而這麼一聽,fstqwq 前輩立刻發現了疑點:那麼 spj 題怎麼辦呢?假如一個構造題,標算輸出一行,但是選手輸出了 \(n\) 行的正確答案,是不是就爆炸了??
大為震撼!
於是我們趕緊先檢查了一下 spj 題會不會真的觸發這個問題,結論是,不會。陷入了迷茫。
最後郭老師查了原始碼發現 OLE 判定其實是這樣的:
if (problem.have_spj()) {
if (ouf.size() > 30MB) {
return OLE;
}
} else {
if (ouf.size() > 2 * ans.size())) {
return OLE;
}
}
由於我們所有題目都是 polygon 包直接匯出的,所以都自帶 checker,正常的輸出都不會遇到這個問題。虛驚一場。
ID | AC | PE | WA | TLE | MLE | OLE | RE | CE | Total | C | C++ | Java | Python3 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | 308 | 0 | 444 | 249 | 11 | 6 | 49 | 34 | 1101 | 3 | 973 | 4 | 121 |
B | 236 | 0 | 391 | 59 | 0 | 3 | 26 | 5 | 720 | 2 | 717 | 0 | 1 |
C | 362 | 0 | 116 | 103 | 2 | 7 | 29 | 24 | 643 | 13 | 620 | 0 | 10 |
D | 279 | 0 | 164 | 29 | 2 | 1 | 12 | 5 | 492 | 0 | 489 | 0 | 3 |
E | 173 | 0 | 500 | 356 | 3 | 7 | 15 | 9 | 1063 | 4 | 1058 | 0 | 1 |
Total | 1358 | 0 | 1615 | 796 | 18 | 24 | 131 | 77 | 4019 | 22 | 3857 | 4 | 136 |
這是熱身賽的資料
熱身賽比完,fstqwq 老師被拉去培訓如何匯入隊伍,如何直播外榜等等神秘操作。技術組希望明天由我們自行完成賽前準備。
fstqwq 先輩糾結什麼時候傳正式賽題目,最後糾結著糾結著決定明天一早過來傳題。(flag 確信)
晚上和教練一起吃飯,雖然是同一個酒店,但是不知道高到哪裡去了。
然後我感覺巨累,吃完飯集合了一下就馬上跑回去睡覺了。10 點就睡著了。
Day 1
早上 5 點就被凍醒了一次,接著睡到 6:40,洗了個頭發吃飯就去賽場了。
題傳上去之後給每個題測測速,感覺都挺正常的,然後 rejudge 了幾個題幫評測機熱熱身。但是由於 10 個評測程序都開了,所以一下就測完了,感覺非常穩啊。
fstqwq 先生負責比賽倒數計時,但是好像大螢幕上的時間沒卡準。
比賽開始了。
4min 中山大學4隊開出 A 簽到,接下來就全都是 A 的提交,其他題目依然沉寂。
接著 13min 終於出現了其它的提交,居然是 PKU 的思路開啟送了發 M Wrong Answer???我們一臉震驚。
終於 16 min 的時候福州大學重返未來透過了 J,榜單終於回歸正常了。
接著 BF 被過,意料之中。
但是 D 被 THU 清一色 26min AC 還是有點嚇人。
眼看著榜單開始百花齊放,我們知道比賽終於好起來了。
接下來的時間,就是看看 PKU 和 THU 的爭霸,看看是誰又在看錯題前期交後期題,看看是誰忘記輸出行數,看看大家如何爭奪榜單前列。
4:00 的時候我把所有當前提交資料拉出來做講題的統計資料……
統計完,4:10 的時候,我突然發現榜上 G 有一發提交,點進去是個 RE,並且是掛樣例,但程式碼完全就是正常的計算幾何。我頓感不妙,想起了久遠的記憶
提前熟悉了一下這個 CCPCOJ,看了一下它的幫助手冊,發現有一些很神秘的點,比如 cerr 會返回 RE。
不會……吧?我複製他們的程式碼,註釋掉所有 cerr 後臺交了一發。
AC!
我吐了一口老血,叫來 fstqwq 主裁判觀看。首先向郭老師確認這個特性是否還存在,得到了肯定答覆後,冷靜的 fstqwq 大人說,還是發全體通知吧。我顫顫巍巍地輸入通知,生怕發錯,最後 fstqwq 先生說:記得中英雙語。於是又把中文拿去 gpt 翻了個英文。傳送出去,過了一會,場上傳來一聲驚叫,我重新整理一看,過了……幸好,一血還是他們的;幸好,就算他們第一發提交過了也不會影響排名。
我倒!千算萬算,把這個特性忘了!本來想的是在熱身賽告訴選手這個 OJ 一些可能影響評測的特性,最後還是缺漏了。
驚心動魄的環節結束,最後 15 分鐘,我們又開始擔心評測起來。結果是,就算到最後的時刻,評測機依然輕鬆執行。
ID | AC | PE | WA | TLE | MLE | OLE | RE | CE | Total | C | C++ | Java | Python3 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | 326 | 0 | 82 | 0 | 0 | 0 | 7 | 10 | 425 | 10 | 412 | 0 | 3 |
B | 276 | 0 | 472 | 38 | 0 | 1 | 15 | 24 | 826 | 16 | 807 | 0 | 3 |
C | 30 | 0 | 57 | 4 | 0 | 0 | 13 | 1 | 105 | 0 | 99 | 0 | 6 |
D | 34 | 0 | 126 | 41 | 0 | 0 | 8 | 5 | 214 | 3 | 211 | 0 | 0 |
E | 48 | 0 | 377 | 4 | 0 | 0 | 19 | 31 | 479 | 4 | 72 | 0 | 403 |
F | 194 | 0 | 264 | 7 | 0 | 0 | 11 | 7 | 483 | 5 | 478 | 0 | 0 |
G | 2 | 0 | 1 | 2 | 0 | 0 | 3 | 2 | 10 | 1 | 8 | 0 | 1 |
H | 41 | 0 | 17 | 8 | 0 | 0 | 1 | 2 | 69 | 0 | 67 | 0 | 2 |
I | 154 | 0 | 344 | 63 | 0 | 0 | 24 | 16 | 601 | 3 | 596 | 0 | 2 |
J | 320 | 0 | 160 | 157 | 1 | 0 | 24 | 8 | 670 | 5 | 664 | 0 | 1 |
K | 0 | 0 | 3 | 0 | 0 | 1 | 1 | 1 | 6 | 0 | 5 | 0 | 1 |
L | 4 | 0 | 54 | 6 | 2 | 1 | 1 | 0 | 68 | 0 | 67 | 0 | 1 |
M | 0 | 0 | 117 | 0 | 0 | 1 | 1 | 5 | 124 | 3 | 121 | 0 | 0 |
Total | 1429 | 0 | 2074 | 330 | 3 | 4 | 128 | 112 | 4080 | 50 | 3607 | 0 | 423 |
這是正式賽資料
其實比到一半,鹿老師突然跑過來問我們現在已經過了幾個題,我們看看榜說 9 個,然後鹿老師說這次他們只准備了 11 個一血獎牌,所以萬一不夠就尷尬了。萬幸最後恰被過了 11 個題。
然後是講題環節
isaunoya 說你普通話好標準
你是不是在故意隱藏自己的口音啊
怎麼沒有長沙味道了
好像就沒有我什麼事情了。
晚上馬上坐飛機回上海,一切就這麼突然地結束了。
Day !
坐在寢室,在知乎上看看自己的風評。不過好像也沒有什麼人在意。