1. 程式人生 > >2017 ACM-ICPC 青島站

2017 ACM-ICPC 青島站

簽到 1:
給一個#字棋,問誰贏?
王B去敲,一交,WA。
三個人仔細一看,沒毛病。
於是把gets改成cin,再交,過了。= =
簽到 2:
迴旋矩陣,中間要空著一個。
王B正常速度敲完,1A。
然後就沒題做了。往常都是跟榜接著搞,結果發現榜沒動。兩題從第一名延續到很後面,並且持續了很久。
忽然,有人做A了的第三題。慢慢有很多人A了第三題。
旁邊的浙大,後面的北大,都過了。
但是我們依然沒有什麼好辦法。
第三題題意是:
給你N個字串,N不告訴你。
然後每個字串取一個字尾,
這些字尾連起來,問最小的是什麼?
正解很煩,不知道。
王A和王B一開始就想到了一個很暴力的辦法:
從後往前找到一個最小的字尾,連到上一個,繼續找。
當然了時間複雜度肯定爆炸。
題目N不告訴,只告訴這些字串連起來長度可以到達100000
然後過的隊就開始多了起來。
由於之前的罰時,我們都快掉出銅牌區了。
我跟王B說,這麼寫一發吧。
王B上去寫,寫到一半,自己把程式碼全刪了,說肯定不對,不浪費時間,不寫了。
然後繼續想怎麼做。我們排名繼續往後。
我想,TLE也要寫一發,ACM的精神就是永不放棄。
於是自己去寫。
由於王B的字串水平一直讓人很放心,之前做比賽的時候別人題目都沒看完,他就AC了,導致我就只會一點皮毛。
當然了,照著模板還是沒問題的。
雖然大部分題字尾自動機比字尾陣列都要快,但是字尾自動機我基本已經忘光了,於是敲了一個字尾陣列的模板。
然後慢慢除錯,感覺自己真的程式碼能力著急,就是一個很簡單的建個字串然後呼叫字尾陣列模板就OK的東西,搞了半天。
把樣例1除錯過了。
當時已經失了智了,直接交了。結果WA了。
當然了,WA我還是覺得很有戲的,畢竟不是TLE。
當然了,這也又可能是水資料直接WA了,不需要跑TLE的資料。
反正結果是,樣例2都不對。
我也不知道為什麼樣例都過就跑去交了。因為事實情況是當時已經失了智了,真的快要打鐵了。
事後證明如果這題沒AC真的打鐵了。
然後看了一下程式碼,發現了各種各樣的錯誤,居然模板都敲錯了。
把樣例全部除錯過了之後,再交一發,就過了。
我們都感到非常吃驚,不過至少不用打鐵了。
第4題是一道波利亞定理的,我倒是做過幾道,不過掌握程度比字尾陣列還皮毛。當然不會了,事實上本隊也沒有一個人會的。
然後就聽到旁邊浙大的愉快推出公式然後AC,我們現場翻《組合數學》也沒學會。
還有題是網路流,但是題目超長,早已不想看,也沒時間做。
還有題可能是DP,題意倒簡單,並不會。
冠軍隊也只做6題,然後3題從金牌最後一名到銅牌中間。
我本想銅牌就銅牌吧,畢竟一道早就可以AC的題這麼晚才AC,別的題又不會。結果銅牌第二,差4分鐘。也是失了智。
總之搞得很難受,所以決定再堅持一個月,準備China Final。
感覺要以個人訓練為主了,必要的時候自己上,不要問隊友你這個會寫麼,你去寫一個。
要寫自己寫。
實際上程式設計競賽時候的感覺和平時隨便寫寫題感覺是非常不一樣的,這是頂著壓力下的頭腦風暴。
就這樣吧。