去年考的這東西
今年寫寫解析
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
