獵奇!THUWC2017試機題

2021-07-28 05:54:15 字數 1935 閱讀 2853

乙個長度為 n

nn 的序列,選擇乙個長度為 k

kk 的子串行,使得字典序最小。

o (n

log⁡n)

o(n \log n)

o(nlogn)

會被卡,要求線性。

(這題其實挺正常挺經典的。。。)

本質是貪心,假設目前是第 i

ii 輪,上一輪選了第 x

xx 個,那麼現在就是在 [x+

1,n−

k+i]

[x+1,n-k+i]

[x+1,n

−k+i

] 裡取最小值。

求最小值的區間是滑窗向右的,可以用單調佇列

這是一道互動題。

先給你乙個整數 k

kk (k≤1

06k \le 10^6

k≤10

6),然後按順序給你未知個整數 a1,

⋯,an

a_1,\cdots,a_n

a1​,⋯,

an​(n

≤1.5×1

07n \le 1.5 \times 10^7

n≤1.5×

107,n

nn 不輸入),要求你求出乙個長度為 k

kk 的字典序最小的子串行。

記憶體 32m,即空間限制是 o(k

)o(k)

o(k)

的。其實跟上一題是差不多的。。。

由於不知道什麼時候讀完所有的數,所以要開多乙個佇列存最後讀進來的 k

kk 個數,然後每來乙個數,就把隊頭拿去維護單調佇列。

直接考慮每 k

kk 個數做一次。

假設我們目前的答案子串行為 a,然後又讀了 k

kk 個數存在 b 裡,那我可以用兩個指標掃這兩個陣列來合併。

時間是 o(n

/k⋅k

)=o(

n)o(n/k \cdot k) = o(n)

o(n/k⋅

k)=o

(n)。

讀入乙個字串(長度 <= 20),請你讀懂字串的含義並用程式輸出對應的數字。

比如字串是「this year」,你應該輸出「2016」。

該題有 20 組資料,每組資料的字串都是相同的。

該題可以多次提交,每次提交都能返回評測結果(ac、wa 等)。

列舉答案顯然是不行的。。。

讓機器變成 ai 讀懂字串好像也不行。。。

只有我們自己想辦法知道字串是什麼了。

試通過評測結果來推斷字串是什麼。

比如我們猜字串第一位是 a,那麼如果 s[1] 果然是 『a』,就讓它返回 re,否則讓他返回 tle。我們知道肯定有辦法設計演算法使它強行 re 或 tle 或其他什麼的。

然後每一次提交可以判斷 20 次,所以可以在有限步數內得到字串。

用提交狀態判斷還是慢了點。

我們可以考慮用時間來判斷。比如,如果它第一位為 a,就讓它迴圈 100 次,b 就 1000 次……這樣一次提交就知道整個字串了。

時間誤差比較大,所以可以再改,用空間來判!

這是一道提答題,有 10 組資料。

一組資料中,若讀入是 x,正確答案是 ans,則 |ans-x|<=5。

乙個測試點你輸出 y,可以獲得的分值是 max( 0, 11-e^|y-ans| ),分值會下取整。

現在讓你 ac 這個題。

得 10 分:y=ans

得 8 分:|y-ans|=1

得 3 分:|y-ans|=2

其餘得 0 分。

於是我們先猜 x,若不為 0 則再猜一次就出解;若為 0 就猜 x+5,再不行就 x-5,則一定出解了。

最壞情況下,第 4 次提交即可 ac。

THUWC 菜雞旅遊記

day 0 跟司機等人來到了hangzhou,飛機上打了一會bzoj4605後發現平衡樹並不用刪除。iq 跟司機遊覽西湖時很不高興,不過一回到賓館後兩人立即活躍起來,就出了一道spfa killer。順便隨手把沒打的pyoj比賽ak了 要是參加了,wxh010910又會加一波rating 晚上時趕在...

thuwc2018賽前的話

這是乙個寒冷的冬天,多年不見的白雪,又一次籠罩了大地 回憶去年九月,那時盛夏的餘熱尚未散去,每天夜裡,輾轉反側之時,總是滿懷著一腔熱血,渴望著聯賽,渴望著證明自己,渴望脫離普及組的襁褓,去全新的賽場裡征戰,noip提高組,wc,zjoi,ctsc,apio,甚至是noi。當時的我依然認為,noip2...

比賽遊記 THUWC2019醬油記

往期回顧 thusc2018醬油記 早上 7 點的動車,不知道是從哪兒到哪兒的 霧 只知道從福建到廣東 233333 乙個值得思考的問題 福建人會不會被廣東人吃啊?動車上玩空洞騎士,可快樂了,發現筆記本沒插電的時候遊戲會很卡,不過幸好車上有電。廣州地鐵簡直毒瘤,黃陂 b i 站簡直有毒吧。第一次坐地...