【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\sum_{j=0}^3\sum_{i=0}^n {n\choose i}s^i(\omega_4^j)^i\\
&=\frac{1}{4}a_0\sum_{j=0}^3(s\omega_4^j+1)^n
\end{aligned}\]

另外几个只需要把\([4|i]\)变成\([4|(i+k)]\)的形式,然后在计算的时候把\(\omega_4^k\)给提取出来就行了。

#include<iostream>
#include<cstdio>
using namespace std;
#define ll long long
#define MOD 998244353
inline ll read()
{
ll x=0;bool t=false;char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
if(ch=='-')t=true,ch=getchar();
while(ch<='9'&&ch>='0')x=x*10+ch-48,ch=getchar();
return t?-x:x;
}
int fpow(int a,ll b){int s=1;while(b){if(b&1)s=1ll*s*a%MOD;a=1ll*a*a%MOD;b>>=1;}return s;}
int s,a[4],w,ans;ll n;
int main()
{
int T=read();w=fpow(3,(MOD-1)/4);
while(T--)
{
n=read();s=read();ans=0;
for(int i=0;i<4;++i)a[i]=read();
for(int i=0;i<4;++i)
for(int j=0,t=s,ww=1;j<4;++j,t=1ll*t*w%MOD,ww=1ll*ww*w%MOD)
ans=(ans+1ll*a[i]*fpow(t+1,n)%MOD*fpow(ww,4-i))%MOD;
ans=1ll*ans*fpow(4,MOD-2)%MOD;
printf("%d\n",ans);
}
}

最新文章

  1. python serial 获取所有的串口名称
  2. centos7.0 手动编译 lamp环境
  3. 【LEETCODE OJ】Single Number II
  4. CSS控制checkbox样式
  5. C - Fractal(3.4.1)
  6. datagridview添加复选框全选和取消
  7. Effective java笔记5--通用程序设计
  8. c++文件读写相关
  9. Query插件
  10. 后台前台json传递数据的方式两种方式 $.get, $.getJSON
  11. 解决Ubuntu系统中文乱码显示问题,终端打开文件及查看目录
  12. CSS的常用属性
  13. 咬碎STL空间配置器
  14. 深入理解.NET Core的基元: deps.json, runtimeconfig.json, dll文件
  15. PL-SVO公式推导及代码解析:位姿优化
  16. C# 合并只要有交集的所有集合
  17. Tensorflow计算加速
  18. attr prop jquery关于获取DOM属性值的两个函数
  19. agc007D - Shik and Game(dp 单调性)
  20. 使用vs2010编译lua5.1源代码生成lua.lib

热门文章

  1. 【入门篇】前端框架Vue.js知识介绍
  2. 数字、字符串、列表、字典,jieba库,wordcloud词云
  3. 基本SQL语句使用方法
  4. 消息中间件Kafaka - PHP操作使用Kafka
  5. angular6 表单验证
  6. 深度学习中目标检测Object Detection的基础概念及常用方法
  7. 3-剑指Offer: 连续子数组的最大和
  8. C++和C的相互调用
  9. 201871010106-丁宣元 《面向对象程序设计(java)》第八周学习总结
  10. 201871010132-张潇潇-《面向对象程序设计(java)》第七周总结