题目:
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]=n1​i=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​)siaimod4​j=0∑3​aj​i=0∑n​(in​)si[imod4=j]j=0∑3​aj​i=0∑n​(in​)si[4∣i−j]j=0∑3​aj​i=0∑n​41​(in​)sik=0∑3​ω4k(i−j)​41​j=0∑3​aj​k=0∑3​ω4−kj​i=0∑n​(in​)siω4ki​41​j=0∑3​aj​k=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 学二项式定理相关推荐

  1. Loj 6485. LJJ 学二项式定理

    Loj 6485. LJJ 学二项式定理 题目描述 LJJ 学完了二项式定理,发现这太简单了,于是他将二项式定理等号右边的式子修改了一下,代入了一定的值,并算出了答案. 但人口算毕竟会失误,他请来了你 ...

  2. Loj#6485. LJJ 学二项式定理

    Loj#6485. LJJ 学二项式定理(单位根反演) 题目描述 题目描述 题意:求下面式子的答案QAQ. [∑((ni)⋅si⋅aimod4)]mod998244353[\sum(\tbinom{n ...

  3. [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 ...

  4. 【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 ...

  5. 单位根反演[loj6485]LJJ 学二项式定理

    前言 之前写反演的博客对于单位根反演只提了FFT 这里补一下一个应用 单位根反演 fi=∑j=0n−1ωni∗jgj⇔gi=∑j=0n−1ωn−i∗jnfjf_i=\sum_{j=0}^{n-1}\o ...

  6. LOJ 6485 LJJ学多项式

    前言 蒟蒻代码惨遭卡常,根本跑不过 前置芝士--单位根反演 单位根有这样的性质: \[ \frac{1}{n}\sum_{i=0}^{n-1}\omega_{n}^{ki}=\left[n|k\rig ...

  7. 对于容斥原理反演的思考和总结

    前言 我还是太菜了 容斥之类的方法并不能熟练应用 于是这次我就认真学习了一下容斥 你可能会发现,容斥与反演很多时候都会同时出现 那么,这两个东西分别是什么.究竟有什么关系呢? 容斥 我们先从定义说起 ...

  8. [学习笔记] 单位根反演

    单位根反演 [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 次 ...

  9. GOOD BYE OI

    大米饼正式退役了,OI给我带来很多东西 我会的数学知识基本都在下面了 博客园的评论区问题如果我看到了应该是会尽力回答的... 这也是我作为一个OIer最后一次讲课的讲稿 20190731 多项式乘法 ...

最新文章

  1. 【PHPWord】图片
  2. sed修炼系列(四):sed中的疑难杂症
  3. 什么是CPython
  4. docker镜像内容如何查看_如何快速打通 Docker 镜像发布流程?
  5. pc端游戏修改器_原神:不要吐槽手机内存了,想要获得最佳游戏体验,PC端最合适...
  6. shell 中 $(( )) 与 $( ) 还有 ${ } 的区别
  7. 听说,他用报表关联数据库表,运维效率提升70%?
  8. 使用Scipy进行函数优化
  9. python刷leetcode_GitHub - eppoha/leetcode-python: 利用python分类刷leetcode题目
  10. 《寻找下一个独角兽》天使投资8字箴言:看势、识人、论术、实战
  11. 计算机锁屏图片怎么设置方法,怎么设置电脑锁屏图片 电脑锁屏图片设置步骤...
  12. 用cheatengine实现街头霸王的无限生命
  13. 智能运动鞋方案/案列/APP/小程序/网站
  14. 如何用python制作一张节日贺卡
  15. NoteBook / 期货及衍生品基础(6)
  16. Java 的 IDEA 神级插件!
  17. h0206. 区间选点
  18. Android应用耗电分析与优化
  19. 游戏加盟能赚钱?游戏代理加盟优势好处是什么?
  20. 标签ul与ol的区别及使用方法

热门文章

  1. 这可能是你见过的最全的SaaS行业分析
  2. chinapay java_Chinapay应用技术部Java编码规范.docx
  3. 【学习笔记】到底是谁先开枪?——网络游戏同步机制初探
  4. 一个奇鸽软件应用有病毒吗?
  5. Vue-cli 微博注册登录系统
  6. 在月球上你会看到这些神奇景象:不可思议
  7. QuickHit项目
  8. 图灵的停机问题背后令人着迷的数学(哲学)原理
  9. 数理逻辑4 -- 公理化集合论16
  10. java安全学习(一)