如何評價2017浙江省ACM省賽?

如題~


(圖來自被刪除的 C 題配圖)

那麼一年一度的省賽又結束了,今年我決定愉快的舉行一個答吐槽者的小活動,大概就是盡量解釋或回答已有的吐槽的相關事項,從而加深吐槽的深度和廣度,那麼開始吧(

4.23 22:39 更新部分

Q:有沒有解題報告?

A:暫時還沒有。[刪除]出題人說可能沒有了,原因是如果數據是錯的可能會被打死(???[/刪除]別找我就是了,我出的題相信你們應該不需要解題報告………………

Q:金區跨度太大。。。

A:我們也不想的。。。這次難度確實比較令人遺憾。。。

Q:順著過題。。。

A:開不開心?驚不驚喜?按難度排序就是這麼自信(

Q:G題很妙。。。

A:出題人正在狂喜亂舞(猜測

沒什麼有力的吐槽,那麼就更新一些小花絮吧

關於隊名:「擺若鰻行,進若蛭步」這個隊名被翁老師欽定為本次最臟隊名,在裁判室的時候我們紛紛表示佩服,另外今年翁老師表示隊名沒什麼挑戰性,都很好讀(在座的各位,都是辣雞

關於我:你們可能懟不到我,我比賽前愉快的通宵了,然後10點就在裁判室癱屍了……所以下午 2 點後我才出現去圍觀的原因就在這裡

關於E題:出題人信誓旦旦的跟我說了以下兩點:1、很簡單的隨便枚舉一下就過了;2、專科組能搞定這個題的。事實證明這出題人根本不能信,已經讓他退群了

關於門口的海報:謝謝我們的贊助商,歡迎關注 圖森 TuSimple(?

關於C題:你是會做這道題的 Friends 呢!

4.22 22:25 更新部分

Q:題目為什麼這麼難/題目太難了/題目怎麼不友好/……

A:這是有比較深刻的原因的,大概分為以下幾個點:

1)我今年研二,已經在專心做自己的各項工作,在集訓隊的工作上投入的精力確實不如以往,而出題這個東西呢,難度控制之類的其實挺大部分要看投入的精力多少……

2)今年主要的出題人(和半個組題人)換了一個小朋友,那麼剛出省賽題的同學肯定對浙江省的整體水平沒有較好的把握,因此題目整體就出難了。看到很多同學說題目差距太大,其實想想也能明白,我能搶救的也就是前面的幾個題,所以基本上可以理解為是出了一份很難的題目,然後修修補補修修補補最後把前面一部分的題的難度搶救了回來……綜合來看這算是交接工作或者更換出題組的一個陣痛期,我也沒有什麼太好的方法,畢竟如果今年要不難,明年也得難的,好像是一種逃脫不出的循環……

3)其實如果把JKL三個題去掉,我覺得可能就沒這麼痛的感悟了……榜單頓時就科學了許多!

4)為了搶救,我們還特意安排了題目順序,不知道是好還是壞……

總而言之還是希望參賽同學見諒,雖然之前曾經發過甩鍋的相關言論,但最後一年作為浙江省大學生程序設計競賽的組題人的我還是誠摯向各位受影響、對程序設計競賽有了不好印象的同學道歉,衷心希望大家不要受本次競賽影響,繼續愉快的參加程序設計相關的競賽。

Q:高中生大佬又又又又血洗……

A:您的血可能……真的不太值錢啊?把杭二中和學軍的名字換成杭州電子科技大學,你們還會喊著杭電血洗省賽么 = =|| 而實際上來說杭電成績基本上跟學軍和杭二中的隊伍成績不分上下吧……再仔細綜合考慮生源學校訓練時間種種因素,難道第一反應不應該是吹一波杭電么,竟然還血洗……

Q:拿金不用演算法所以這不是演算法競賽?

A:呃……可……這確實不是演算法競賽啊?無論是你們喜歡的 ICPC、CCPC,還是浙江省賽、乃至於天梯賽,名字都叫「程序設計競賽」啊?何況競賽背景里是這麼寫的:

為積極推進大學生創新創業,培養大學生創新思維和利用計算機分析問題、解決問題的實際能力,提升大學生的綜合素質,促進校際交流,提高全省高校計算機教學、科研和應用水平,豐富校園學術文化氛圍。

比較蛋疼的是,這裡半個「演算法「都沒有啊……我是不太清楚這麼說是為了什麼,如果只是因為這樣讓各位準備的板子失望了,那我還挺高興的啊,畢竟按照這個邏輯,正兒八經的」演算法競賽「可能全國就一個高校能命題了啊(噗嗤

我是不太懂你們對」演算法「這個東西的理解是什麼了,要非得在板子上正兒八經的才能叫演算法的話,我是覺得你該再去看看演算法的定義是什麼……什麼不用學幾個演算法就能拿金就純屬搞笑了,你要真不學那些經典演算法就能做出這些題我也挺佩服的……把學演算法當成背單詞一輩子也沒進步的。當然如果說給大家鍛煉寫演算法代碼的能力出一兩個模板題或者所謂的演算法題倒也無可厚非,但這樣可能就是另外一批人噴我了,再三思索……我覺得我還是要小小得罪你們一下啊(


聽說要聽吐槽?

松揚sensei熱身時發現鍵盤有些不爽(001~050那個區域),想換被拒;

然後正式比賽時寫完a題,要提交時誤碰鍵盤上的關機鍵,於是每個題都10min後了-_-||

反正並沒有影響到松揚sensei連續2年壓在zjq老師上1位就算了233

不知道是不是記憶出錯,但是隊友抱怨,以前食堂送飲料的,現在沒了。(以前省賽似乎是有過送飲料/水果的)

熱身賽d題繼續上演看運氣的比賽就臉黑系列的續集,4組大數據,直接猜,猜到最後一個才過。(15瀋陽熱身賽也是10個數,猜到最後一個才過)

話說出題人都不確定數據正確性的題扔上場真的大丈夫?(今年驗題人不夠?)

我們可以在多校的時候再次見到原版省賽題嗎?

====================

野生的buluraji ( bluelaji ) 出現了。

庄嘉琪,用十萬伏特!

琪卡~

Attempt 1 : Failed! (隊友真礙事)

Attempt 2: Succeded!

:):):):):)微笑的分割線:):):):):)

3隻老年退役玩家的最後一場比賽。

之前和其中一個隊友,2人合打浙大校賽同步賽,感覺好愉快啊?

鑒於之前連續2年我靠手速前期又快又穩的搞定前面4~5題,

今年我又被開場扣在機位上了。

上來配Dev-c++,配完把a題題意灌給我了,a還沒寫完,隊友x說,你不用下來了,b題題意直接和你說,然後稀里嘩啦搞完2題以後,發現暫時沒人過了?

然後繼續讀,讀到d,呃,不是經典的拆成2標記,排序,掃過去?然後1a。

然後我開始中毒了。

c題題意和隊友x再三確認,一切都是順按序的,你不需要像浙大校賽g題枚舉順序後,寫寫寫,交上去,re了,數組開大,wa了。然後代碼列印下來,隊友d上去寫h了。

讀代碼,隊友x直接指出,ans不清空沒事嗎?當然有事了!隊友d寫了一點,下去思考,然後c補了一下,3a。

這時候好像efh都有人過了?e題讀完,隊友x說,要不分段打表試試吧?然後我坐到電腦前,想了想,問,數位dp怎麼樣?這時候隊友x已經在推e的數位dp寫法了-_-||

然後就這樣,隊友x寫e,隊友d寫h,交替上機。在痛苦的折騰後,e終於1a了。

e過了以後,我終於把f的題意繞明白了,想著,從前到後,能粘就粘,不能粘就建新樹?和隊友x討論了一下,發現似乎這樣做,不會留下讓解更優的空間了?寫寫寫。寫完一交,tle了;砍掉一個大常數的部分,還tle。果斷列印2份下來看,然後我們都沒發現錯誤,就感覺應該是常數偏大。

然後我上機準備去處理常數。拉到代碼頭部,看到,compare函數中,寫了一句:

if(x!=b.x)return x&噗,一口老血,改掉這個手滑錯誤,一交,過了。

已經被尿憋急了,衝出去上廁所了,回來一看,他們說,h已經過了。果斷來波666666

然後接下來就是他們倆高就業質量選手的表演時間了:

他們拿起了很早就看到的g題,然後各自想了方法,之後隊友d主敲,隊友x在邊上一起確認細節。

if海寫完,測了個樣例,交,g題1a。

之後的故事:講了k題,他們倆表示,不就是解個方程?然後他們去推方程+寫寫寫了,但是到最後,主體過程沒問題了,樣例過了,輸出0和-1的特判還是沒寫完。

我在邊上玩 i ,玩不出什麼很漂亮的構造法,於是就沒上去搶他們機時了。

坐在浙大的大禮堂(劇場?)里,仔細想想,有種回到14年省賽的感覺?不過不一樣的是,不是當年差金線2題的大一弱雞隊了,而是一個有著半殘的手速+還算靈光的腦子*3的大四退役狗隊了。

有點小遺憾是,罰時被zjq老師碾壓了45分鐘,不過反正最後一場了,誰在意呢?:)

最後,致謝:

感謝隊友帶著我衝到現場賽金牌前半段。(14銀,15手速快8題金,16手速快6題金,但都在後半段了)

最後感謝陪伴我,打了4年區域賽+省賽的熊神,感謝那些流水的隊友:海胖胖,周賢傑,松揚sensei,丁神。感謝你們拖著我拿了那麼多好獎。

大四狗終於可以退役了呢。

(PS. 我們水平其實不強的,高中的情況,我zj noip 2=,熊神jx noip 2=,丁神高中是搞數學競賽的)


上午訓練完和dls組了輛自行車開賽兩個半小時後雙排進場..

我:要不我先把前面的題做起來?

dls:做個p啊?我們大力倒開來收割一波一血啊?

然後發現J有點難寫懶癌發作不想寫

然後被這個M感受絕望了

然後發現G也不會做

然後...兩個人躺在地上不知所措

然後就痛苦的吃飯去了


利益相關:「擺若鰻行,進若蛭步」隊長
PS:別問我隊名什麼意思

0、這場應該算我的退役賽。ACM 生涯有點遺憾啊,ICPC 最高只有北京銀首,CCPC 倒是有金,這個 FINAL 更是遙遙無期。
1、@灰然如此 貴隊還是強啊,伏地膜!這次 zjp 的 zju 又雙叒叕有特等獎了。
2、又看到 @庄嘉琪 zls 了,髮際線一如既往的高,發動技能「突然變庄」。開場前廁所 py,我們探討了一下懟組題人 @Dai@NeverLand dai 牛的可行性,決定老老實實被懟。
3、要說被高中大佬血洗的,窩不是很服氣,畢竟人家的目標要比我們高很多;當然我對高中大佬本身還是服氣的。 @毛嘉怡 mjy 果然又穩壓一頭,跪跪跪!

4、隊伍成員:大四學長 @Fintyuan zrf 跟我,這兩個即將畢業的老年選手;紹一 NOI 銀學弟 yjc。說起來我 noip 才省二,畢竟菜。
5、經驗總結:
不能讓 zrf 摸鍵盤,摸了比賽就炸。
本次比賽很好得貫徹了這個精神,沒有讓他摸到,充分發揮了他作為 yy 選手的實力。
zrf 作為 yjc 的慈父,端茶送水捶背揉肩安撫心靈讀題造數據幫調試送助攻一手操辦(自行斷句)
不能讓 yjc 單步調試,調起來沒完沒了,後半場就廢了。
一開始沒法用 gdb(系統 32 位,gdb.exe 64 位),他日常高呼心態崩了。
為了安撫他我搞出了 g++ -m32 和 gdb32,計劃通。
然而說了只是安撫,所以大部分時間,還是給他列印代碼,在一邊給我停頓。

6、比賽過程
開局兩人穩穩過了 AB。
我寫 C 的時候,腦門一緊寫掛了一個小細節;yjc 也寫掛了 D。我們爭先恐後各吃一口 shit。
zrf 說 E 可做。我一看,可不是絲薄暴力題么,給 yjc 一講。聽閉,寫了個開頭,摔鍵盤,「到底怎麼實現啊」。
我:「...」 然後捋起袖子上,準備寫個魔改版爬梯法,具體做法看附錄一。(聽說有人滿腦子數位打牌)

zrf 說 F 可做。yjc 一看,這不是絲薄 STL 么,遂丟給我。
E 快寫完的時候,我以為還有很多要寫,準備先寫 F。
結果,F 編譯掛了,multiset 拿到的迭代器是個 const 類型,讓我非常難受。
我加了個小 trick 強行把 CE 弄掉了,結果 WA。

yjc 說 G 是絲薄博弈,上去莽了兩發,過了。
過了以後我們才發現是一血,就埋怨他開早了,應該囤題的。
果然沉舟側畔千帆過,後面的隊伍都緊接著剛了過去。
我吃了一會兒 shit,才發現我 F 寫了如下代碼:

struct node {
node(int w, int id) {
this.w = w;
this.id;
}
...
};

這才把 F 過了,然後在紙上寫偽代碼,發現 E 只要加兩三行就行,也搞了過去。
說起來這個 E,我核心實現不壓行只要十行,預處理一行;壓行則只要五行。私以為非常優雅。
yjc 開始在 H 上無限 debug,發現也是一些愚蠢的錯誤,跟 D 類似,後來還是過了。
後半場 M 題我跟 zrf 妄圖用貪心莽過去,結果吃 shit 到結束。
事後 xg 說是個使勁優化的 dp,擅長打牌和 dp 的 yjc 表示並不能看穿。

yjc 和 zrf 寫了個 I 的爆搜,有解秒出,無解特別慢。
我覺得他們打表方式不對,便用他們代碼,打出了一個 30x30 的 01 矩陣。
事實證明這上面有很明顯的幾個三角形不符合規律,挖掉即可。
當時還有十分鐘,我佔了鍵盤,準備手工輸入這個 100x100 的表;隊友受到驚嚇,拚命拉住了我。
後來時間不夠就沒過。結束後,zls 過來交流了一下想法,強行達成了共識。
PS:我們組好像 Unlimited Printer Works,後來我看到送紙小哥就有點不好意思。或許我們是「全場列印最佳」?

附錄一:
1、基本思路,爬梯法,每次跨 16^k 步,儘可能大。
2、需要預處理最低 k 位的 16^k 種變化的總和 S。
預處理最低 k 位時,只要統計這 k 位即可。
S[0] = 0
S[i] = S[i-1]*16 + 78*16^(i-1)
表示為最後 i-1 位重複 16 次,第 i 位重複 16^(i-1) 次

3、傳統的爬梯法要先上升再下降,代碼複製一遍,非常煩。我想了個比較優雅的實現。
令從最低位開始的下標為 [0, 8) 好了。

每次跨 16^k 步,儘可能大。k 怎麼選?
k1 是小於當前 n 的最小 16^k1 這樣形式下的值
k2 是最低位連續的 0 的個數
k = min(k1, k2)
這樣的話,不縮行只要五行。

跨 16^k 步,其實就是第 k 位加 1。
那麼每次 [k, 8) 保持不變,[0, k) 進行了一輪。
顯然後者是預處理出的 S,結合前者瞎逼統計一下。
隨後的進位寫噁心點可以一行搞定。

這樣做法,效果跟傳統爬梯法一樣,先是步子越來越大,然後越來越小。
最後 n 沒了就停下。


坐在窗邊 所以氣球被吹掉至少六七次QAAQQ 有漂亮的志願者姐姐幫我們撿起來超開心

自告奮勇從M往前想題 .......... 發現M不會做L不會做K不會做J不會做.....開場好難受 後來索性直接往前翻到F發現會做心態才沒有炸.....居然拿了FB....隊里有兩個能寫代碼的(顯然不包括我)所以總體來講就是抱著隊友的大腿度過了愉快的五個小時了!....

據隊友說前面的模擬題有點多,大概就是難度跨度有點大的感覺吧...大部分的工作都在前兩個小時進行了...QAQ ....我校有3/4的隊在H上卡了很久 讀寫好像也會被卡(隊友在本地測試的結果如有不對望糾正)其他的題我認為(看隊友)寫起來還是比較小清新的

至今不知道剩下那幾個題是什麼 不過感覺G還是很妙的QwQ

數據範圍都好大啊QAAAQQ 怎麼沒有網路流字元串數據結構題啊QAAQQ 感覺板子都白打了 QAAAQQQ


感覺在金區的跨度太大了。。。比完看了一下。86分鐘的時候就已經六題夠拿金了。最後結束了8題還是金。。。後面三個小時約等於白忙活。。。


退役場,ACM生涯還是有不少遺憾。

去年大四最後的ICPC三連銀,兩場都是很蠢的錯失特別是最後的China Final,希望我的兩個隊友不要有遺憾,但是省賽之旅還是完滿結束了。

這場是唯一一次順著過題的= =ABCDEF

一路切的很順,直到2H左右提交的F,連WA4發實在不知道什麼錯,棄療搞H。封榜許久最後才知道,找不到錯的時候一定是題目讀錯了= =

重碼終於1A了。

半退役許久之後和兩個新認識的大一學弟來打了個醬油,撿到了連續第三個省賽金。

打了四年比賽還是和當年一樣菜,數據結構不會博弈不會圖論渣渣數論不會,還經常讀錯題,萬幸還是有一手手速賴在了金尾巴上。

再見了ACM


掛機四小時,看到其他題都給出了T的範圍,就F沒給,只說n的總和不超過兩百萬,就猜到了可能有鬼,果斷刪掉了memset,然後並沒有什麼卵用,還是T了。


打了四年,還是大一時候的水平


搞了個F,xjb猜了一個G,然後6題。。@Vec Sun 這比賽打成這樣。。等於說。。你也有責任的吧。。


這J題不卡內存我就1A了啊。。。。

死於卡內存時改錯代碼

生無可戀的眼神.jpg


準備退役學姐的最後一場比賽。。。。

有一些sad。表示最後多做一道題出來就能銀,可惜了最後日常頭痛欲裂。

ABCDE都不難。

數據都好大,一直考慮會不會超時瘋狂想簡單演算法,噗。

題目是真沒什麼簡單套模板的大水題。

被學軍和杭二虐到不想說話。

還記得有個隊名叫擺若鰻行,進若蛭步。

當時就在想這名字真文藝,還和隊友討論怎麼讀#_#回去百度了我就。。(real污)這就很有趣了。

之前想著省賽拿個獎回去考研究生面試的時候吹吹逼結果這回可吹不成了。。

帶領兩個小學妹參賽組女隊其實還挺開心的。

剩下國賽也沒得參加了因為要準備考研了啊。

其實心裡還是挺難過的,畢竟也是自己大學這麼長時間一路走來,一直堅持。

還記得大一的時候沒見面之前做題的時候學長一直以為我是個男孩紙(畢竟我是學校女生ACM第一人了),後來被拉進坑,也一直堅持沒放棄。到大二省賽的時候因為要參加G20志願者放棄參加省賽把名額讓給別人,結果那一年題簡單他們拿獎,到了自己這一年莫名就整個學校都沒得拿獎。選擇之前誰也不知道結果是怎麼樣。室友每次看到我在寢室刷題都會感嘆看我一路從大一走過來真的很辛苦:-),畢竟弱校沒老師帶完全憑自己努力。

退役之後希望倆小學妹好好努力。

你們超酷的了!

PS:大排和紅燒肉都很好吃,筆芯~


高中生大佬血洗浙江省賽


這邊是杭二的一隻弱雞高一OIer...

怒答一發...箭頭就是我的隊啦

考場的VS15居然是掛的,差評,全程C-Free幹活

15min的時候C英語殺了,後來75min才出(我是有鍋的翻譯

卡題意,爆了3發F

MYC LNY兩個大佬把GH出了還是很開心的

J的log^3實在來不及寫

就這樣喵


早上宣布杭二和學軍參賽的時候

大多數參賽選手都很清楚這兩個學校的oi實力

「怕是得讓中學生屠殺比賽喲」

天氣很好,紅燒肉很好吃


弱校之一。

三年ACM。

最後的退役賽。

很清楚自己會被中學生屠榜。

很清楚自己會被浙大大佬屠榜。

很清楚自己會被按在地上摩擦。

但是也很希望自己可以衝擊一下金牌。

很遺憾,打鐵。

就像在大學的最後給了自己一記響亮的耳光。

然後指著鼻子告訴你。

你的水平

根本就還沒有到需要討論個人天賦的程度。


全程靠隊友上分

abcd題送分考細節,隊友很穩一路切光

e數位dp打表搞一搞 一開始思路不清楚調了很長時間才過,還好是1a

f貪心線段樹靠學長

g博弈論nim改看到就知道不會做試了試果然wa掉遂放棄

h似乎可做不知道為何一直wa掉

i題構造很麻煩不會

j裸的維護半平面交代碼量估計很大反正也沒寫過也寫不出來,有時間的話估計有的隊應該能切掉

k解方程解方程特判特判反正不會做

l數學題求遞推不會做

m不知道怎麼搞也不會做

最後ms靠罰時少混了個金?


總的來說 題目難了很多.

大量隊伍扎堆在了四道題,如果五道A了,那就直接前四五十(大概是銀獎)

基本上都是前四道題(A,B,C,D) 能不能拿獎全看大傢伙的罰時誰少了

同時四道題的隊伍有獎金只 (GGWP

多做一道就直接銀牌有木有

另前十的隊,五隻隊是杭二和學軍的(這兩個學校共八隻(經評論區指正,六改為八),不過他們不算入總排名

簡單的說 鶸膜巨巨,

不過也得結束了,可以準備實習找工作啦~~


第一次參加省賽,罰時爆炸啊……拿了一題首A,然而還是太菜,最後半小時無心A題,在走廊吃東西去了……E題明明可以再救一下的,然後就打鐵啦!還是有點小遺憾吧……

我們隊每次開場前就看氣球猜水題,顏色越鮮艷越普通(比如紅黃藍綠橙)越水(據說),然後發現果然AB和LM的氣球最普通,於是決定寫代碼的看A題,我從後往前,另一個從前往後,然後在我看完L和M覺得不太確定做法的時候,他倆已經A了兩題並且在debug一題了……後來我還是在L題掙扎了半個多小時才決定不做。再往前我發現題目都好難,G題或許可以分類討論猜一下,但是最後還是沒過。歸根結底還是自己太菜,接觸的東西太少了,賽場上遇到題目想法太少,加油啦!路還很長!


自己太坑就匿了吧 前面打的還不錯 罰時有點多 看到時間還很充裕 H就開了第二份代碼 然後調了兩小時沒搞出來 結束時以為沒金了 誰知道靠罰時撿了個金 人生的大落大起太刺激了。。。


為什麼今年沒有水果飲料!

為什麼只有vs2008!

為什麼只有vs2008還缺少調試工具!

為什麼這個鍵盤設計這麼反人性!


罰時爆炸,默默背鍋去了(′╥ω╥`)

ps有些電腦沒有vs2015真是太坑了,之前的校賽也是,唉最後一場退役賽命該如此嗎


好難啊

IJKLM都不會

不對,I會的但是沒寫完


推薦閱讀:

軟體工程本科生 方向很迷茫 一個嵌入式 一個軟體技術裡面寫的很詳細 誠懇認真的請教大牛?
知乎里的編程大神的 GitHub 地址都是什麼?
你會出於什麼原因在Github上star一個項目?
如何讓學習編程成為一種快樂,有趣,優雅的事?
如果不是為了生活,你還會選擇編程么?

TAG:程序員 | 演算法 | ACM競賽 |