題目描述:
loj題解:
單位根反演。
$[n|x]=\frac \sum _^ (ω_n^x)^i$
證明?顯然啊,要麼停在$(1,0)$要麼轉一圈。
所以說題目要求的是$\sum _^ c(n,i) * s^i * a_$
把$a$提前,變成$\sum_^a_k \sum _ ^ c(n,i) *s^i [4|i-k]$
然後把上面單位根反演式子套進去。後面變成$\sum _ ^n c(n,i) * s^i * \frac \sum _ ^ (ω_4 ^)^j$
把後面提前面:$\frac \sum_^3 ω_4^ \sum_^ c(n,i)*s^i*ω_4^$
發現二項式定理:$\frac \sum_^3 ω_4^ * (sω_4^j+1)^n$
最後就剩快速冪了?
**:
#include#includeview code#include
using
namespace
std;
typedef
long
long
ll;const
int mod = 998244353
;template
inline
void read(t&x)
while(ch>='
0'&&ch<='9')
x = f*c;
}ll fastpow(ll x,ll y)
return
ret;
}int
t;ll n,s,a0,a1,a2,a3,w0,w1,w2,w3,w0,w1,w2,w3,ans,inv;
void
work()
intmain()
LOJ 6485 LJJ 學二項式定理
給定 n,s,a 0,a 1,a 2,a 3 求 large left sum n left cdot s cdot a right right bmod 998244353 t le 10 5 組測試資料,n le 10 s,a i le 10 9 一看 n 巨大無比顯然不太能直接搞.但是這個 b...
loj 6485 LJJ 學二項式定理
給定 n,s,a 0,a 1,a 2,a 3 求 sum s i a 答案對 998244353 取模 1 le n le 10 1 le s,a 0,a 1,a 2,a 3 le 10 8 一臉絕望 在高中的時候,數學老師教會了我們 a b sum a b 然後驚喜的發現這道題不能這麼做!在 oi...
loj6485 LJJ 學二項式定理
給出 n,s,a 0,a 1,a 2,a 3 求 sum n binom s i a 對 998244353 取模的值。本來像強行用xiaomange的方法艹過去,but failed。大概猜到和原根有關,但是思考也只是停留在特殊的情況下,沒有進行更有效的思考。正解是單位根反演。大概就是在推式子的過...