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 然後再 由於 ...