LJJ 学二项式定理
题目:
https://loj.ac/problem/6485
给定n,s,a0,a1,a2,a3n,s,a_0,a_1,a_2,a_3n,s,a0,a1,a2,a3,求
[∑i=0n(ni)siaimod4]mod99824453\Big[\sum_{i=0}^{n}{n\choose i}s^ia_{i\;mod\;4}\Big]\;mod\; 99824453 [i=0∑n(in)siaimod4]mod99824453
思路:
- 单位根反演
[n∣k]=1n∑i=0n−1ωnki[n|k]=\frac{1}{n}\sum_{i=0}^{n-1}\omega^{ki}_n [n∣k]=n1i=0∑n−1ωnki
∑i=0n(ni)siaimod4=∑j=03aj∑i=0n(ni)si[imod4=j]=∑j=03aj∑i=0n(ni)si[4∣i−j]=∑j=03aj∑i=0n14(ni)si∑k=03ω4k(i−j)=14∑j=03aj∑k=03ω4−kj∑i=0n(ni)siω4ki=14∑j=03aj∑k=03ω4−kj(sω4k+1)n\begin{aligned} &\sum_{i=0}^{n}{n\choose i}s^ia_{i\;mod\;4}\\ =&\sum_{j=0}^{3}a_j\sum_{i=0}^{n}{n\choose i}s^i[i\;mod\;4=j]\\ =&\sum_{j=0}^{3}a_j\sum_{i=0}^{n}{n\choose i}s^i[4|i-j]\\ =&\sum_{j=0}^{3}a_j\sum_{i=0}^{n}\frac{1}{4}{n\choose i}s^i\sum_{k=0}^{3}\omega^{k(i-j)}_4\\ =&\frac{1}{4}\sum_{j=0}^{3}a_j\sum_{k=0}^{3}\omega^{-kj}_4\sum_{i=0}^{n}{n\choose i}s^i\omega^{ki}_4\\ =&\frac{1}{4}\sum_{j=0}^{3}a_j\sum_{k=0}^{3}\omega^{-kj}_4(s\omega^k_4+1)^n \end{aligned} =====i=0∑n(in)siaimod4j=0∑3aji=0∑n(in)si[imod4=j]j=0∑3aji=0∑n(in)si[4∣i−j]j=0∑3aji=0∑n41(in)sik=0∑3ω4k(i−j)41j=0∑3ajk=0∑3ω4−kji=0∑n(in)siω4ki41j=0∑3ajk=0∑3ω4−kj(sω4k+1)n
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int mod = 998244353;
const int w [] = {1,911660635,998244352,86583718};
ll T,n,s,ans,res,inv;
ll a[4];
ll ksm (ll a,ll b) {a%=mod;ll s=1;for (; b; b>>=1,a=a*a%mod)if (b&1)s=s*a%mod;return s;
}
int main () {scanf("%lld",&T);inv=ksm(4,mod-2);while (T--) {scanf("%lld%lld%lld%lld%lld%lld",&n,&s,&a[0],&a[1],&a[2],&a[3]);ans=0;for (int i=0; i<=3; ++i) {res=0;for (int j=0; j<=3; ++j)res=(res+w[(4-i*j%4)%4]*ksm(s*w[j]+1,n)%mod)%mod;ans=(ans+a[i]*res%mod)%mod;}printf("%lld\n",ans*inv%mod);}return 0;
}
LJJ 学二项式定理相关推荐
- Loj 6485. LJJ 学二项式定理
Loj 6485. LJJ 学二项式定理 题目描述 LJJ 学完了二项式定理,发现这太简单了,于是他将二项式定理等号右边的式子修改了一下,代入了一定的值,并算出了答案. 但人口算毕竟会失误,他请来了你 ...
- Loj#6485. LJJ 学二项式定理
Loj#6485. LJJ 学二项式定理(单位根反演) 题目描述 题目描述 题意:求下面式子的答案QAQ. [∑((ni)⋅si⋅aimod4)]mod998244353[\sum(\tbinom{n ...
- [LOJ 6485]LJJ 学二项式定理
[LOJ 6485] LJJ 学二项式定理 题意 给定 \(n,s,a_0,a_1,a_2,a_3\), 求: \[ \Large \left[ \sum_{i=0}^n \left( {n\choo ...
- 【LOJ 6485】LJJ 学二项式定理(单位根反演)(模板)
LJJ 学二项式定理 题目链接:LOJ 6485 题目大意 求一个式子: ∑ i = 0 n ( ( n i ) s i a i m o d 4 ) \sum\limits_{i=0}^n(\bino ...
- 单位根反演[loj6485]LJJ 学二项式定理
前言 之前写反演的博客对于单位根反演只提了FFT 这里补一下一个应用 单位根反演 fi=∑j=0n−1ωni∗jgj⇔gi=∑j=0n−1ωn−i∗jnfjf_i=\sum_{j=0}^{n-1}\o ...
- LOJ 6485 LJJ学多项式
前言 蒟蒻代码惨遭卡常,根本跑不过 前置芝士--单位根反演 单位根有这样的性质: \[ \frac{1}{n}\sum_{i=0}^{n-1}\omega_{n}^{ki}=\left[n|k\rig ...
- 对于容斥原理反演的思考和总结
前言 我还是太菜了 容斥之类的方法并不能熟练应用 于是这次我就认真学习了一下容斥 你可能会发现,容斥与反演很多时候都会同时出现 那么,这两个东西分别是什么.究竟有什么关系呢? 容斥 我们先从定义说起 ...
- [学习笔记] 单位根反演
单位根反演 [k∣n]=1k∑i=0k−1ωkin[k\mid n]=\frac 1k\sum_{i=0}^{k-1}\omega_k^{in}[k∣n]=k1∑i=0k−1ωkin kkk 次 ...
- GOOD BYE OI
大米饼正式退役了,OI给我带来很多东西 我会的数学知识基本都在下面了 博客园的评论区问题如果我看到了应该是会尽力回答的... 这也是我作为一个OIer最后一次讲课的讲稿 20190731 多项式乘法 ...
最新文章
- 【PHPWord】图片
- sed修炼系列(四):sed中的疑难杂症
- 什么是CPython
- docker镜像内容如何查看_如何快速打通 Docker 镜像发布流程?
- pc端游戏修改器_原神:不要吐槽手机内存了,想要获得最佳游戏体验,PC端最合适...
- shell 中 $(( )) 与 $( ) 还有 ${ } 的区别
- 听说,他用报表关联数据库表,运维效率提升70%?
- 使用Scipy进行函数优化
- python刷leetcode_GitHub - eppoha/leetcode-python: 利用python分类刷leetcode题目
- 《寻找下一个独角兽》天使投资8字箴言:看势、识人、论术、实战
- 计算机锁屏图片怎么设置方法,怎么设置电脑锁屏图片 电脑锁屏图片设置步骤...
- 用cheatengine实现街头霸王的无限生命
- 智能运动鞋方案/案列/APP/小程序/网站
- 如何用python制作一张节日贺卡
- NoteBook / 期货及衍生品基础(6)
- Java 的 IDEA 神级插件!
- h0206. 区间选点
- Android应用耗电分析与优化
- 游戏加盟能赚钱?游戏代理加盟优势好处是什么?
- 标签ul与ol的区别及使用方法