bzoj1089 嚴格n元樹

2022-06-03 07:48:07 字數 1190 閱讀 5707

如果一棵樹的所有非葉節點都恰好有n個兒子,那麼我們稱它為嚴格n元樹。如果該樹中最底層的節點深度為d

(根的深度為0),那麼我們稱它為一棵深度為d的嚴格n元樹。例如,深度為2的嚴格2元樹有三個,如下圖:

給出n, d,程式設計數出深度為d的n元樹數目。

僅包含兩個整數n, d( 0  

僅包含乙個數,即深度為d的n元樹的數目。

【樣例輸入1】

2 2【樣例輸入2】

2 3【樣例輸入3】

3 5【樣例輸出1】

3【樣例輸出2】

21【樣例輸出2】

58871587162270592645034001

令s[i]為深度不超過i的n元樹的數量

顯然的s[i]=s[i-1]^n+1

加上高精度即可

#include#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define il inline

#define re register

using

namespace

std;

intn,d;

struct bignum f[

101];

il bignum

operator*(bignum a,bignum b)

if(c.s[c.len+1]>0) c.len++;

returnc;}

il void

operator++(bignum &a)

if(a.s[a.len+1]>0) a.len++;

}il bignum

operator-(bignum a,bignum b)

returnc;}

il void

print(bignum a)

intmain()

f[0].len=1;f[0].s[1]=1

;

for(int i=1;i<=n;i++)

++f[i];

}print(f[n]-f[n-1

]);

return0;

}

bzoj1089 高精度 嚴格n元樹

description 如果一棵樹的所有非葉節點都恰好有n個兒子,那麼我們稱它為嚴格n元樹。如果該樹中最底層的節點深度為d 根的深度為0 那麼我們稱它為一棵深度為d的嚴格n元樹。例如,深度為 的嚴格 元樹有三個,如下圖 給出n,d,程式設計數出深度為d的n元樹數目。input 僅包含兩個整數n,d ...

bzoj1089 SCOI2003 嚴格n元樹

題目 遞推公式 f i f i 1 n 1 當然,這樣看的話顯然long long是存不下的233。要用高精度對吧,但是,我很懶呀。so,粘個模板吧。include using namespace std long long f 17 int n,d long long ksm long long ...

P4295 SCOI2003 嚴格N元樹 DP

設 f i 表示深度 leq i 的嚴格 n 元樹的數目,有 f i pow f i 1 n 1 即乙個點,對於每乙個孩子深度都可以是 1 到 i 1 的嚴格 n 元樹,或是僅僅乙個點 作為根 所以最後的答案是 f i f i 1 需要高精。include include include defin...