給出\(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...