loj6485 LJJ 学二项式定理
题目描述:
题解:
单位根反演。
$[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} ^n C(n,i) * s^i * \frac{1}{4} \sum _{j=0} ^{3} (ω_4 ^{i-1})^j$
把后面提前面:$\frac{1}{4} \sum_{j=0}^3 ω_4^{-j} \sum_{i=0}^{n} C(n,i)*s^i*ω_4^{ij}$
发现二项式定理:$\frac{1}{4} \sum_{j=0}^3 ω_4^{-j} * (sω_4^j+1)^n$
最后就剩快速幂了?
代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int MOD = ;
template<typename T>
inline void read(T&x)
{
T f = ,c = ;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){c=c*+ch-'';ch=getchar();}
x = f*c;
}
ll fastpow(ll x,ll y)
{
ll ret = ;
while(y)
{
if(y&)ret=ret*x%MOD;
x=x*x%MOD;y>>=;
}
return ret;
}
int T;
ll n,s,a0,a1,a2,a3,w0,w1,w2,w3,W0,W1,W2,W3,ans,inv;
void work()
{
read(n),read(s),read(a0),read(a1),read(a2),read(a3);n%=(MOD-),ans=;
W0 = fastpow(s*w0%MOD+,n),W1 = fastpow(s*w1%MOD+,n);
W2 = fastpow(s*w2%MOD+,n),W3 = fastpow(s*w3%MOD+,n);
ans=(ans+a0*(w0*W0%MOD+w0*W1%MOD+w0*W2%MOD+w0*W3%MOD)%MOD)%MOD;
ans=(ans+a1*(w0*W0%MOD+w3*W1%MOD+w2*W2%MOD+w1*W3%MOD)%MOD)%MOD;
ans=(ans+a2*(w0*W0%MOD+w2*W1%MOD+w0*W2%MOD+w2*W3%MOD)%MOD)%MOD;
ans=(ans+a3*(w0*W0%MOD+w1*W1%MOD+w2*W2%MOD+w3*W3%MOD)%MOD)%MOD;
printf("%lld\n",ans*inv%MOD);
}
int main()
{
// freopen("tt.in","r",stdin);
read(T);inv = fastpow(,MOD-);
w0=,w1=fastpow(,(MOD-)/),w2=w1*w1%MOD,w3=w1*w2%MOD;
while(T--)work();
return ;
}
loj6485 LJJ 学二项式定理的更多相关文章
- 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} \] ...
- 【LOJ#6485】LJJ 学二项式定理(单位根反演)
[LOJ#6485]LJJ 学二项式定理(单位根反演) 题面 LOJ 题解 显然对于\(a0,a1,a2,a3\)分开算答案. 这里以\(a0\)为例 \[\begin{aligned} Ans&am ...
- loj #6485. LJJ 学二项式定理 (模板qwq)
$ \color{#0066ff}{ 题目描述 }$ LJJ 学完了二项式定理,发现这太简单了,于是他将二项式定理等号右边的式子修改了一下,代入了一定的值,并算出了答案. 但人口算毕竟会失误,他请来了 ...
- 题解 LOJ-6485 【LJJ学二项式定理】
题目 由于看到正解的单位根反演过于复杂 (也就是看不懂) 所以自己构造了一个算法,理论上这个算法应该还有成长的空间(可以变得普适性更强) 不知道和单位根反演有没有一样,就发表出来了 反正转载前记得要联 ...
- loj 6485 LJJ学二项式定理 —— 单位根反演
题目:https://loj.ac/problem/6485 先把 \( a_{i mod 4} \) 处理掉,其实就是 \( \sum\limits_{i=0}^{3} a_{i} \sum\lim ...
- LOJ #6485 LJJ 学二项式定理
QwQ LOJ #6485 题意 求题面中那个算式 题解 墙上暴利 设$ f(x)=(sx+1)^n$ 假设求出了生成函数$ f$的各项系数显然可以算出答案 因为模$ 4$的缘故只要对于每个余数算出次 ...
- LOJ 6485 LJJ 学二项式定理——单位根反演
题目:https://loj.ac/problem/6485 \( \sum\limits_{k=0}^{3}\sum\limits_{i=0}^{n}C_{n}^{i}s^{i}a_{k}[4|(i ...
- loj#6485. LJJ 学二项式定理(单位根反演)
题面 传送门 题解 首先你要知道一个叫做单位根反演的东西 \[{1\over k}\sum_{i=0}^{k-1}\omega^{in}_k=[k|n]\] 直接用等比数列求和就可以证明了 而且在模\ ...
- loj #6485. LJJ 学二项式定理 单位根反演
新学的黑科技,感觉好nb ~ #include <bits/stdc++.h> #define ll long long #define setIO(s) freopen(s". ...
随机推荐
- SpringBoot(1)—启动原理之SpringApplication对象的创建
创建SpringApplication对象 SpringBoot版本为 2.1.1.RELEASE @SpringBootApplication public class SpringbootDemo ...
- 五分钟搞定 Linux 文档全部知识,就看这篇文章
作者:无痴迷,不成功 来源:见文末 写在前面 我们都知道Linux是一个支持多用户.多任务的系统,这也是它最优秀的特性,即可能同时有很多人都在系统上进行工作,所以千万不要强制关机,同时,为了保护每个人 ...
- Linux 下 FTP虚拟用户的使用配置
Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用 ...
- Codeforces 140E(排列组合、dp)
要点 主要学到的东西:一个序列染色,相邻不染同色,恰用\(j\)种颜色的1.模式数.2.方案数.3.具体染色数. 从大的思路上来讲:先dp预处理出每一层的模式数:\(f[i][j]\)表示\(i\)个 ...
- JS代码运行延迟
还是上篇文章的项目. 现在是屏幕上需要显示九张图表,刚好用一张3X3的表格来显示.但是负责这块内容的同事始终没法让九张图表同时显示,有些图表的位置空了出来. 大家百思不得其解,最后只得求助技术经理. ...
- tomcat7 fail to start inside Ubuntu Docker container
The tomcat startup script needs some special privileges. Concrete it needs to check all running proc ...
- restful 风格 加上springmvc
一.spring 版本:spring-framework-3.2.7.RELEASE 二.所需其它Jar包: 三.主要代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- ajax取到数据后如何拿到data.data中的属性值
今天遇到的ajax取到数据后如何拿到data.data中的属性值的问题 比如拿到了数据 我要取出data中的name 题外话:当然取名最好别取什么奇怪的xiaobi
- 《移动Web前端高效开发实战》笔记1——静态布局在移动端上的自适应
1.整体缩放 整体缩放可以用在营销活动页,营销活动可能因为设计美观需求必须使用背景图片而非背景色,因此需要考虑背景图适应屏幕大小.开发者可以用320像素的宽度作为基础宽度(高度可以固定),然后通过计算 ...
- win10 vm 11 桥接模式配置
1 保证你Vmware里面的虚拟机是关机状态 2 在本地连接 属性中 卸载VM 桥接协议 3 管理员身份运行VM ,编辑>虚拟网络编辑器 删除所有网卡,并且重新配置网络适配器 4 配置完成后,选 ...