emmm。。。。。。
直接看題解好了:
o(m)不懂扔掉
總之,給我們另乙個處理複雜求和的方法:
找到函式之間的遞推公式!
這裡用錯位相減,然後想辦法轉化
由於根據二項式定理,展開之後會出現k^i的乘方,所以展開,有助於變成f(j)遞推下去
o(m^2)
#include#define reg register int#define il inline
#define numb (ch^'0')
using
namespace
std;
typedef
long
long
ll;il
void rd(int &x)
namespace
miracle
return
ret;
}int
main()
c[0][0]=1
;
for(reg i=1;i<=m;++i)}f[
0]=m*(qm(m,n)-1+mod)%mod*qm(m-1,mod-2)%mod;
for(reg i=1;i<=m;++i)
else
}f[i]=(f[i]+qm(n,i)*qm(m,n+1)%mod)%mod;
f[i]=(f[i]*qm(m-1,mod-2))%mod;
}printf(
"%lld
",f[m]);
return0;
}}signed main()
/*author: *miracle*
date: 2018/12/29 16:48:22
*/
BZOJ 3157 國王奇遇記
bzoj 3157 傳送門 題意 求解 sum n m i cdot o m 2 做法 定義乙個函式 f i f i sum n k i cdot m 1 cdot f i sum n k i cdot m sum n k i cdot m k sum k 1 i cdot m k sum n k ...
擾動法 BZOJ3157 國王奇遇記
求 sum ni mm i n leq 1e9,m leq 200 其實我也不知道這東西為啥叫 擾動法 大概是在黑暗的邊緣試探?就是那種,人家再多一點就被您看破了,然後您就一定要搞他那麼一點去試探他的限度,一不小心給他搞爆了,這種感覺。擾動三連 等比數列求和 sum na i,a i a 1 q 令...
BZOJ3157 國王奇遇記 神奇的推式子
先膜一發miskcoo,大佬的部落格上多項式相關的非常全 原題戳我 求 sum limits i mm i 設乙個函式 f i sum limits j im j 然後貌似用乙個叫擾動法 感覺就是錯位相消法 的東西,算一下 m 1 f i sum limits j 1 im j sum limits...