LG4948 題解報告

2022-09-12 22:51:26 字數 1387 閱讀 8086

p4948 題解報告

求\[\sum_^

\]的值,其中 \(n\le10^,k\le 2\times 10^3,a\le 10^9\) 。

本題在《具體數學》一書中有詳細的解法思路說明,可以在該書第二章 《和式》 中得到思路的啟發。

對這個式子進行擾動。

令\[s(k)=\sum_^

\]當 \(a= 1\) 時,有

\[s(k)=\sum_^ \\

=\sum_^(i+1)^k-(n+1)^k+1

\]根據二項式定理

\[(x+y)^k =\sum_^\cdot x^iy^}\]有

\[s(k)=\sum_^^\binom\cdot i^j}-(n+1)^k+1\\

=\sum_^\binom^i^j}-(n+1)^k+1\\

=\sum_^\binom-(n+1)^k+1

\]由於 \(\binom=1\) ,則

\[\sum_^}s(j)-(n+1)^k+1=0

\]由於\(\binom=k\) ,則

\[k\cdot s(k-1)=(n+1)^k-\sum_^s(j)-1}\\

s(k-1)=\frac^s(j)-1}}

\]令 \(t=k-1\) ,有

\[s(t)=\frac-\sum_^s(j)-1}}

\]把 \(k\) 換回來,有

\[s(k)=\frac-\sum_^s(j)-1}}\\

s(0)=n

\]這個式子可以 $o(k^2) $求。

s同理的考慮 \(a\not= 1\) ,則令

\[s(k)=\sum_^i^ka^i

\]可以解得

\[s(k)=\frac-a\sum_^s(j)-a}}\\

s(0)=\frac-a}

\]同理 \(o(k^2)\) 求解,該式和邊界情況留給讀者自證,方法類似。

#include#include#include#includeusing namespace std;

#define int long long

const int mod = 1e9 + 7;

const int k = 2e3 + 10;

int fc[k],fv[k],inv[k];

inline int ksm(int x,int y)

inline int c(const int x,const int y)

int f[k];

int n,a,k;

inline void init()

signed main()

} else

}cout << f[k] << endl;

return 0;

}

題解 lg2605 基站選址

題面 設 f i,j 表示前 i 個村莊建立 j 個基站,且第 i 個村莊有基站的最小花費 則有 f i,j min 其中 cost k,i 表示第 i k 個村莊建有基站,中間沒有,所需要補償的費用 發現轉移式中從 j 1 j 我們可以脫去 j 這一維 考慮怎麼計算 cost k,i k i 如果...

題解 lg2034 選擇數字

給定一行n個非負整數a 1 a n 現在你可以選擇其中若干個數,但不能有超過k個連續的數字被選擇。你的任務是使得選出的數字的和最大。設 f i,0 表示考慮到數字 i 並選擇 i 的最大和,f i,1 表示考慮到數字 i 並選擇 i 的最大和 那麼 f i,0 min f i 1,0 f i 1,1...

題解 lg2480 古代豬文

給定整數 q,n 1 leq q,n leq 10 9 求 q c mod 999911659 首先由擴充套件尤拉定理可知,因為999911659為質數 q c equiv q c mod 999911658 mod 999911659 設 x sum c mod 999911658 然後再 由於 ...