第二次打北市賽了,上次北市賽的時候流感,還好打得還不錯,今年也沒有再流感了(不然就不能比賽了 QQ),是說我已經一年沒有生病了,以前大概每三個月會感冒一次,去年甚至年初年底各一次流感,看來回家都先洗手和在捷運上戴口罩是有用的 (?)。
題目
pA 100/100
有一個
的棋盤,一開始你在左上角,每一步都可以往右邊或下面走,並且可以往上走最多 次,但是往上走完就要馬上往下走,且一旦到了右下角就不能再動了,求有幾種走法能到達右下角。 、 。
好像
pB 100/100
把線段按斜率的絕對值排序。
pC 100/100
有 6 種棋子,每一種都有無限個,從中取
個排成一列,且第一種和第二種要取偶數個,求排列數 。 。
題本上寫的限制是
寫完之後 TLE,我就在想是不是模的常數太大,所以開始壓常,結果壓到了本機 0.1 秒都還是 TLE,我才開始發現不對勁,assert 看看
改成
pD 0/100
以下都在
( 是質數)下做事。給一個多項式函數 ,和一堆多項式方程式,令 是它們的聯立解,求 。 可能有多個,但 保證唯一。
看到這是數學加上多項式我就知道我沒救了,而且我也沒聽過任何可以拿來做這個的東西。大部分的人都 0 分,最高分是 33 分,這個子題是「有一個方程式次數是 1」,我本來也想拿這個子題,但怎麼做都沒過,好像有過的人都不是用正常的作法,還有枚舉
pE 100/100
有一個
的棋盤,有些格子是障礙物,還 個相異格子是寶藏點,你可以選擇一個寶藏點作為起點,並選擇一個數字 ,每次操作可以選擇一個寶藏點,滿足這個寶藏點編號比目前所在的寶藏點大,且目前所在地到那裡的最短路徑長恰為 ,接著移動到那個寶藏點,求最多能做幾次操作。
這題題目敘述沒寫到要走最短路徑,原本敘述的意思是每次操作都走恰
如果從把每一個寶藏點都視為一個節點,然後從每個點連有向邊到所有編號較大的點,邊權是最短路徑長,這樣會得到一張 DAG,要求的就是同權重的最長路徑。建圖可以從每個寶藏點 BFS 一次,這樣時間複雜度是
小插曲,第一個子題是
結語
因為北市賽可以帶 codebook,開場就先把 default code 打完。去年是用 Code::Blocks 打,然後一直當機,今年 TOI 模考的時候因為被 Code::Blocks 弄到很氣,所以學了 vim,本來我很煩惱說北市賽好像沒給 vim,還好測機的時候發現有,才能正常打 code。(沒有 vim 我會一直打出 hjkl)
打完 default code 後,就開始讀題目,看完 pB 的時候還在想我真的沒讀錯題目嗎?!然後決定的做題順序是 BCAED,不先 pA 是因為我看完 pC 就馬上想到解法了,但 pA 想了比較久。
是說我真的超愛 pE 的原題,比暴搜完找最長路徑有營養多了。= =
總分400/500
rank 10
其實第 2 到 10 名都是 400 分,我最後一名是因為我先在 pD 丟了很多次,最後才過 pE,然後比序方式是看「最後一次分數改變時的提交次數」,所以 pD 那幾次就被算進去了 = =,沒有道理的 R。
不過這種比賽的一等獎我也不稀罕,能進全國賽就好了。還好最後 pE 有過,不然我大概不會進 @@。