loj6485 LJJ 學二項式定理

2022-05-09 11:03:10 字數 894 閱讀 8839

題目描述:

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#include

#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()

view code

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。大概猜到和原根有關,但是思考也只是停留在特殊的情況下,沒有進行更有效的思考。正解是單位根反演。大概就是在推式子的過...