思路:首先就是理解題意,這道題我看了一天了,現在還是沒整出來,錯誤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 就是乙...