如果一棵樹的所有非葉節點都恰好有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...