CSP 2020 提高組第一輪


Lisa

去年考的這東西

今年寫寫解析

T3 為什么是位,當然就是說一個比特啦

然后×起來就可以了

T15背過唄

然后沒啥好說的了

閱讀程序

T1

1 1000是必掛好不好

2 如果是個常數列呢

3 沒錯,例如遞增序列和遞減序列

4 當然,因為這個i和j互換也是會出現的

5 128的二進制全是1,那樣的話ans必為128

6 A的最多顯然是沒有道理的,因為最低為不會變,但是只有一個偶數的話必掛

因為最低為肯定是1,如果輸出為奇數,只有一個奇數是可能的,但是奇數特別多顯然也是可以的

\(T2\) 這就是個快讀排序求第k大而已

1放屁,怎么可能沒有l、

2 只是一個死循環而已,不叫”運行錯誤“

3 其實這玩意沒有正確答案來着

4 快排啊,這么有規律的組合,當然是O(n)次就可以翻過來啥的

5平均復雜度就是快排的極限了O(n),但是慘的話每次只能少一個數字,那就是\(O(n^2)\)

6 都為同一個數的話也就是無論如何比較都是沒有意義的嗎,模擬一下每一次都會把d--跑到L,這樣的話每次划分都是非常不均勻的,所有\(O(n^2)\)

\(T3\)這是個啥?

手寫的map和queue,然后bfs,給定初始字符串和最終字符串,然后給定m,可以旋轉前m個數或者后m個數,問能否得到最終字符串

選擇雙向bfs

1 顯然

2 這左轉和右轉轉起來都不一樣了,怎么可能對呢

3 這個程序又不會把全排列跑一邊

4 手動模擬計算需要轉多少圈,我們這道這個bfs想干啥了,所以說呢,我們只要轉一個串,看看能不能轉出另外一個串就可以了,然后轉不出來了

5 什么鬼東西,插值

6 注意一下兩次旋轉中為與m的位置是可以向左或向右都可以的,也就是說可以交換左右的字符的,然后搞幾個小數據,就可以發現是C了

閱讀1

這很簡單啊

閱讀2

閱讀程序2

1手動算一下d就是取最后一位

2就是取a的前八位而已

3想選inf?看第五小題的選項就會發現問題不對

4結合動態規划的知識可以發現,Max的第一位已經確定,但是第二位是z,也就是說,這樣的話我們要動后8位,然后就知道了

5結合對稱和理解,關鍵是要確定y后處理z,然后呢<<b對答案也沒什么影響,關鍵是動x


免責聲明!

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



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