CSP-s2020初賽遊記
這次初賽是我競賽生涯裡參賽感覺最好的一次,從昨天下午做完作業來到機房起,整個人處於一個鬆弛的狀態,實在是不怎麼緊張,回想起一年前那個戰戰兢兢的自己,心感到我一年來的進步是如此之大,不但在競賽水平,更在心理狀態。
考試的時候很淡定,閱讀第三題我做了一個多小時,因為我覺得這不但是一個很有難度,要求很高的程式設計題,更是一道數學趣味題,雖然我最終沒有完全理解,但是這個過程我很享受。
完善程式做了不到半小時,相比於去年取石子那道奇葩狀壓使我15分全扣光,今年的水平很穩定,直接秒殺。
去年的我只考了73.5,接下來的兩週時間心態爆炸,整個人渾渾噩噩,雖然後面又滾進了複賽,但這也很說明問題。今天我雖然只考了88,但是體驗比去年好很多。
簡要評論一下題目
唯一一道硬體題目,看起來B最正經
出題者真是一個天才,我本來還以為這又是一道原題,結果這個棧底真的是點睛之筆
閱讀第一題是在做兩個數or起來的最大值
我竟然沒有意識到n可以等於0,然後我錯了,可惜至極
這題有數學思想,反證法。若輸出為偶數,假設只有一個偶數,那麼任意兩個數or起來,最後一位肯定是1,那麼答案就是奇數了,矛盾,所以C是正確的
閱讀第二題,狂喜。前一天晚上我剛發了個求kth的部落格,今天押到題了。
但是今年初賽又加了一個跟去年一樣坑的出題方法,去年是把並查集的路徑壓縮刪掉,今年把快排部分搞得亂七八糟,可以發現程式碼裡面在交換的時候處理得很不好,所以最劣複雜度可以到
O
(
n
2
)
O(n^2)
同樣的,這道題目用這個程式碼也是
O
(
n
2
)
O(n^2)
O(n2),我又錯了。
第三題是數學小遊戲。
一個字串,選擇一個點
p
p
p為軸點,可以令區間
[
1
,
k
]
[1,k]
[1,k]整體往右移動一格,
[
k
,
n
]
[k,n]
[k,n]整體往左移動一格,問最少步數是初始字串變成目標字串。
我還看出了他是在雙向bfs
其實我覺得是對的,但答案是錯的
我模擬了01234到43210的情況,答案是8
所以前後兩項的差分別是4,6,6,8,8,10……
通過合情推理得到答案是68
這題我四個選項分別構造了幾種情況,只有A是無解的,但是我又錯了,可能是我計算錯誤。
完形第一題很簡單,但是有一些細節
本體其實是
c
u
r
W
+
(
B
−
c
u
r
V
)
∗
w
i
v
i
curW+\frac{(B-curV)*w_i}{v_i}
curW+vi(B−curV)∗wi
不要被上面的矇蔽,這裡不用除東西,選擇B
完形第二題跟去年一樣的狀壓,所以我有經驗了,很好想
x
−
l
o
w
b
i
t
(
x
)
x-lowbit(x)
x−lowbit(x)手摸一下,D
我認為四個選項其實都合理,但是硬要說的話,只有C是有意義的
今年題目比去年有水平,也比去年簡單一點
後續可能會再探尋一下閱讀第三題,我覺得出的很好