loj6485 LJJ 學二項式定理

2022-05-23 21:24:10 字數 1167 閱讀 4151

給出\(n, s, a_0, a_1, a_2, a_3\),求

\[\sum_ ^ n \binom s ^ i a_

\]對\(998244353\)取模的值。

本來像強行用xiaomange的方法艹過去,but failed。

大概猜到和原根有關,但是思考也只是停留在特殊的情況下,沒有進行更有效的思考。

正解是單位根反演。

大概就是在推式子的過程中發現突破口的

\[\begin

origin

& = \sum_ ^ 3 a_k \sum_ ^ n [4 | i + 4 - k] \binom s ^ i \\

\end

\]注意到在對\(998244353\)取模下有4次單位根\(\omega_4\),又由於有恒等式

\[[n | m] = \frac \sum_ ^ \omega_n ^ \]則

\[\begin

origin

& = \sum_ ^ 3 a_k \sum_ ^ n \binom s ^ i \sum_ ^ 3 \omega_4 ^ \\

& = \sum_ ^ 3 a_k \sum_ ^ 3 \sum_ ^ n \binom s ^ i \omega_4 ^ \\

& = \sum_ ^ 3 a_k \sum_ ^ 3 \omega_4 ^ \sum_ ^ n \binom s ^ i \omega_4 ^ \\

& = \sum_ ^ 3 a_k \sum_ ^ 3 \omega_4 ^ (s \omega_4 ^ j) ^ n \\

\end

\]再直接做即可。

#include using namespace std;

typedef long long ll;

const int mod = 998244353, g = 3;

ll power (ll a, ll b)

} return ret;

}int t; ll w, n, s, a, p, q, ans;

int main ()

}ans = ans * power(4, mod - 2) % mod;

printf("%lld\n", ans);

}return 0;

}

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 學二項式定理

題目描述 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...