CSP 2019 提高組第一輪


雜談

5題
不換成int是一位也不舍棄的

6題
分類討論+組合數學
9題
分類談論+一點點耐心

11題

極限情況

\(A_1<B_1<A_2<b_2\)······

14題
一點小小的計算·····
16題

最后兩問對應的就是單調第增和遞減的情況
第五問似乎合並的順序不影響答案。

17題
朴素的並查集復雜度是\(n^2\)

18題

任務:計算s最多可以刪去幾個字符,使t仍為s的子序列

suf,pre存的是從后往前和從前往后匹配最遠可行的位置
(1)錯誤

顯然suf[i+1]其實就是沒到if時的j
j唯一的變化就是--,所以說小於等於成立

(2)錯誤 兩個都是空串時為0

(3)錯誤 如果沒有任何公共子串,輸出就是一個負數

(4)錯誤 反例 a和b相等時

(5) 1因為怎么說,只要t不是s子序列就行,但是s不能輸入空啊

(6) 12輸出2表示刪去兩個還是,那么最小肯定就是t加上兩個字符

19

unlock[i]表示i還有多少未解開限制
1,2 就是解開一門課需要有足夠的point和可解鎖(==0)
已解鎖的定位-1
3問就是得分
4問減少限制

20
博弈論可知
記f[i]表示剩下i個石子時先手能不能必勝

顯然只有所有的f[i-b[i]]先手必敗,才會必勝

本題中b[i]小於64,那么用status記錄i個石子時,i-1,i-2,1····i-64能否必勝

若為一則先手必勝

1 初始化,一開始只有0個石子,那么先手必敗,所以第一位為0,剩下的就是1了

2 畢竟隨着石子增多,可以由上面的轉移過來,所以只在相等的時候轉移

3trans記錄的是可行的轉移方式,所以說|一下(這與b[i]范圍有很大關系)

4后手必敗才會先手必勝,所以說需要~,只有必勝且存在這個轉移方式(trans)才能先手必勝,所以&

5考慮一下status是干啥的,那么多了一個石子就左移一位,然后異或一下,重疊的是肯定不行的(怎么可能呢,多了一個石子還能取到)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM