2 k進製數(藍橋杯)

2021-10-02 10:52:08 字數 648 閱讀 8934

思路:首先就是理解題意,這道題我看了一天了,現在還是沒整出來,錯誤50%,可能是中間產生溢位了。

這是一道組合題,重點就是最高位的選取,我們分成兩種情況來考慮

if(m錯誤50%,待更

更新:就是沒有注意寫的組合數函式還必須滿足的乙個條件(m<=n)

#include#include#includeusing namespace std;

typedef long long ll;

ll c(int n,int m)

{ if(m>n)return 0;//這是最重要的,沒有這個錯誤50%

else

{ ll ans=1;

if(m總結:這道題在c語言網能夠ac,在洛谷只拿了50分。原因:傳送門(這是自己在c語言網寫的題解)。

待更(洛谷ac後回來補題)

2 k進製數 藍橋杯提公升題

這道題是乙個考察進製和組合數問題的題目,對於我這樣的新手來說,碰到這樣的題還是比較頭疼的,畢竟腦子轉不過彎來。時間限制 1sec記憶體限制 128mb 題目描述 設r是個2 k 進製數,並滿足以下條件 1 r至少是個2位的2 k 進製數。2 作為2 k 進製數,除最後一位外,r的每一位嚴格小於它右邊...

2 k進製數

遞推 高精度 f i j 表示共i位且最高位是j的方案數,顯然有只要上一位比它大就可以轉移,所以有f i j f i 1 j 1 f i 1 2 k i 1 也就是f i j f i j 1 f i 1 j 最後特判一下最後一段剩下的w k的就可以。注意高精 include using namesp...

2 k進製數

設 s 是長度為 w 的 01 串。從串的右邊開始,每 k 個字元分成一段 最後不夠 k 個字元的也分成一段 組成乙個小於 2 k 的數。然後這 left lceil frac right rceil 個數將組成乙個序列。若這個序列除去前導零後的長度不小於 2 且序列裡的數嚴格遞增,那麼 s 就是乙...