loj6485 LJJ 学二项式定理】的更多相关文章

LJJ 学二项式定理 题意 \(T\)组数据,每组给定\(n,s,a_0,a_1,a_2,a_3\),求 \[ \sum_{i=0}^n \binom{n}{i}s^ia_{i\bmod 4} \] 对\(998244353\)取模 范围 \(1\le T\le 10^5,1\le n\le 10^{18},1\le s,a_0,a_1,a_2,a_3\le 10^8\) 单位根反演有个套路 \[ [k\equiv l \ (\text{ mod } n)\ ]=\frac{1}{n}\sum_…
题目描述: loj 题解: 单位根反演. $[n|x]=\frac{1}{n} \sum _{i=0}^{n-1} (ω_n^x)^i$ 证明?显然啊,要么停在$(1,0)$要么转一圈. 所以说题目要求的是$\sum _{i=0}^{n} C(n,i) * s^i * a_{i\;mod\;4}$ 把$a$提前,变成$\sum_{k=0}^{3}a_k \sum _{i=0} ^{n} C(n,i) *s^i [4|i-k]$ 然后把上面单位根反演式子套进去.后面变成$\sum _{i=0} ^…
[LOJ#6485]LJJ 学二项式定理(单位根反演) 题面 LOJ 题解 显然对于\(a0,a1,a2,a3\)分开算答案. 这里以\(a0\)为例 \[\begin{aligned} Ans&=\frac{1}{4}a_0\sum_{i=0}^n [4|i]{n\choose i}s^i\\ &=\frac{1}{4}a_0\sum_{i=0}^n{n\choose i}s^i\sum_{j=0}^3 (\omega_4^{j})^i\\ &=\frac{1}{4}a_0\su…
$ \color{#0066ff}{ 题目描述 }$ LJJ 学完了二项式定理,发现这太简单了,于是他将二项式定理等号右边的式子修改了一下,代入了一定的值,并算出了答案. 但人口算毕竟会失误,他请来了你,让你求出这个答案来验证一下. 一共有 \(T\) 组数据,每组数据如下: 输入以下变量的值:\(n, s , a_0 , a_1 , a_2 , a_3\),求以下式子的值: \(\begin{aligned}\Large \left[ \sum_{i=0}^n \left( {n\choose…
题目 由于看到正解的单位根反演过于复杂 (也就是看不懂) 所以自己构造了一个算法,理论上这个算法应该还有成长的空间(可以变得普适性更强) 不知道和单位根反演有没有一样,就发表出来了 反正转载前记得要联系本人,联系方式参考 index [分析] 题目所求为 \(\displaystyle Ans=[\sum_{k=0}^nC_n^ks^ka_{(k\mod 4)}]\mod 998244353\) 为避免混淆,本文中(除代码)所有 \(i\) 均表明虚数的单位,即 \(i^2=-1\),而代码中的…
题目:https://loj.ac/problem/6485 先把 \( a_{i mod 4} \) 处理掉,其实就是 \( \sum\limits_{i=0}^{3} a_{i} \sum\limits_{j=0}^{n} C_{n}^{j} * s^{j} * [4|(j-i)] \) 然后把 \( [4|(j-i)] \) 单位根反演,得到 \( \sum\limits_{i=0}^{3} a_{i} \sum\limits_{j=0}^{n} C_{n}^{j} * s^{j} * \…
QwQ LOJ #6485 题意 求题面中那个算式 题解 墙上暴利 设$ f(x)=(sx+1)^n$ 假设求出了生成函数$ f$的各项系数显然可以算出答案 因为模$ 4$的缘故只要对于每个余数算出次数模4为该余数的系数和即可 求系数和强上单位根反演即可 求模4余1相当于求模4余0之后平移一位即乘上$ x^{-1}$ 好像讲的非常不清楚啊... 代码 #include<ctime> #include<cmath> #include<cstdio> #include<…
题目:https://loj.ac/problem/6485 \( \sum\limits_{k=0}^{3}\sum\limits_{i=0}^{n}C_{n}^{i}s^{i}a_{k}[4|(i-k)] \) 然后就是套路即可. #include<cstdio> #include<cstring> #include<algorithm> #define ll long long using namespace std; ll rdn() { ll ret=;;ch…
题面 传送门 题解 首先你要知道一个叫做单位根反演的东西 \[{1\over k}\sum_{i=0}^{k-1}\omega^{in}_k=[k|n]\] 直接用等比数列求和就可以证明了 而且在模\(998244353\)意义下的\(\omega_k^1=g^{P-1\over k}\) 据说这玩意儿在\(NTT\)的证明里有?然而我那时候光顾着背板子了 所以这个单位根反演简称小单的玩意儿能干嘛呢 然后我们惊奇的发现小单可以让我们快速求一个数列里某个数倍数项的和 \[ \begin{align…
新学的黑科技,感觉好nb ~ #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; const ll mod=998244353; inline ll qpow(ll x,ll y) { ll tmp=1; x=x%mod; y=(y%(mod-1)+mod-1)%(mod-1); for(…