一種類似等比數列求和問題的解法

2021-10-09 03:34:53 字數 945 閱讀 5883

有時,會遇到這樣的問題:求 \(\sum_^n i^kx^i\)。

其中,k很小,n很大,x可以是數,矩陣,或多項式。

通常,有兩種做法:

將x放入矩陣中,並依次把\((a+1)^i\)拆開,把係數放入矩陣(其實就是楊輝三角)。

這個方法比較容易,但時間複雜度為\(o(k^3\log n)\)。

使用遞迴。從\(\frac n 2\)的答案推到\(n\)的答案。

根據n的奇偶性分類討論。

遞迴時維護0~k的所有答案。**比較難寫,注意細節。

時間複雜度\(o(k^2\log n)\)。

例題:這道題比較卡常,需要使用方法二。

**:

#include #define md 1000000007

void fuz(int a[102][102],int b[102][102],int n)

}void chf(int a[102][102],int b[102][102],int n)

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

}} fuz(a,jg,n);

}void chf(int a[102][102],int x,int n)

}void add(int a[102][102],int b[102][102],int n)

}int g[102][102],a[102][102],b[102][102],c[102][102],mi[102][102],ag[102][102],bg[102][102],cg[102][102],jh[102][102];

void dfs(int m,int n)

return;

} if(m%2==0)

else }

int main()

dfs(k,n);

for(int i=0;ireturn 0;

}

用等比數列解析偽列level的另乙個作用

我們都知道,level是個偽列,代表當前節點所在的層級 對根節點來說,level返回1 根節點到子節點返回2,以此類推。借助level,我們可以控制對錶的掃瞄次數。第一次掃瞄得出的結果集的level都是1,第二次掃瞄的結果集的level都是2,依此類推。實驗環境 sql create table t...

用等比數列解析偽列level的另乙個作用

我們都知道,level是個偽列,代表當前節點所在的層級 對根節點來說,level返回1 根節點到子節點返回2,以此類推。借助level,我們可以控制對錶的掃瞄次數。第一次掃瞄得出的結果集的level都是1,第二次掃瞄的結果集的level都是2,依此類推。實驗環境 sql create table t...

八皇后問題的一種python解法

八皇后問題,是乙個古老而著名的問題,是回溯演算法的典型例題。該問題是十九世紀著名的數學家高斯1850年提出 在8x8格的西洋棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行 同一列或同一斜線上,問有多少種擺法。高斯認為有76種方案。1854年在柏林的象棋雜誌上不同的作者發表了40種...