[LOJ 6485] LJJ 学二项式定理

题意

给定 \(n,s,a_0,a_1,a_2,a_3\), 求:
\[ \Large \left[ \sum_{i=0}^n \left( {n\choose i} \cdot s^{i} \cdot a_{i\bmod 4} \right) \right] \bmod 998244353 \]
\(T\le 10^5\) 组测试数据, \(n\le 10^{18};s,a_i\le 10^9\).

题解

一看 \(n\) 巨大无比显然不太能直接搞.

但是这个 \(\bmod 4\) 十分的玄妙, 我们尝试从它入手, 分别计算每个 \(a_i\) 所产生的贡献.

又因为组合数越界会变 \(0\), 于是答案可以写成这样:
\[ \sum_{k=0}^3\sum_{i\bmod 4=k} {n\choose i}a_ks^i \]
\(i\bmod 4=k\) 等价于 \(4\mid i-k\). 于是我们有:
\[ \sum_{k=0}^3\sum_{4\mid i-k} {n\choose i}a_ks^i \]
把下标换漂亮点并且把求和条件变成布尔表达式丢到和式里:
\[ \sum_{k=0}^3\sum_{i}[4\mid i] {n\choose i+k}a_ks^{i+k} \]
然后我们如果能找个东西把 \([4\mid i]\) 反演掉就好了.

幸运的是在傅立叶变换中有个东西叫求和引理, 即当 \(k\not \mid n\) 的时候有:
\[ \sum_{j=0}^{n-1}(\omega_n^k)^j=0 \]
不难算出当 \(k\mid n\) 的时候上式的值为 \(n\). 也就是说:
\[ \frac 1 n\sum_{j=0}^{n-1}(\omega_n^k)^j=\frac 1 n\sum_{j=0}^{n-1}\omega_n^{kj}=[k\mid n] \]
那么我们就可以把这个东西代进去按照和式的套路搞一搞求和顺序和指标:
\[ \begin{aligned} &\sum_{k=0}^3\sum_{i}\left (\frac 1 4\sum_{r=0}^3\omega_4^{ir}\right) {n\choose i+k}a_ks^{i+k}\\ =&\frac 1 4\sum_{k=0}^3\sum_{r=0}^3a_k\sum_{i}{n\choose i+k}s^{i+k}\omega_4^{ir} \\ \end{aligned} \]
那么问题变成了最内层的东西. 我们发现它有点类似二项式定理的形式, 但是 \(\omega_4^r\) 上的指数不太对. 我们强行让它和二项式系数的部分一样:
\[ \begin{aligned} &\frac 1 4\sum_{k=0}^3\sum_{r=0}^3a_k\sum_{i}{n\choose i+k}s^{i+k}\omega_4^{(i+k)r}\omega_4^{-kr} \\ =&\frac 1 4\sum_{k=0}^3\sum_{r=0}^3a_k\omega_4^{-kr} \sum_{i}{n\choose i+k}s^{i+k}\omega_4^{(i+k)r}\\ =&\frac 1 4\sum_{k=0}^3\sum_{r=0}^3a_k\omega_4^{-kr} \sum_{i}{n\choose i+k}(s\omega_4^r)^{i+k} \\ =&\frac 1 4\sum_{k=0}^3\sum_{r=0}^3a_k\omega_4^{-kr} (s\omega_4^r+1)^n \end{aligned} \]
然后就可以算了.

参考代码

其实 \(\omega_4\) 就是虚数单位 \(i\)...

#include <bits/stdc++.h>const int I=911660635;
const int NI=86583718;
const int MOD=998244353;
const int PHI=998244352;
const int INV4=748683265;
typedef long long intEx;int Pow(int,int,int);int main(){int T;scanf("%d",&T);while(T--){intEx n;int s;scanf("%lld%d",&n,&s);int ans=0;for(int i=0;i<4;i++){int a;scanf("%d",&a);for(int j=0;j<4;j++)(ans+=1ll*a*Pow(NI,i*j,MOD)%MOD*Pow((1ll*Pow(I,j,MOD)*s+1)%MOD,n%PHI,MOD)%MOD)%=MOD;}ans=1ll*ans*INV4%MOD;printf("%d\n",ans);}return 0;
}inline int Pow(int a,int n,int p){int ans=1;while(n>0){if(n&1)ans=1ll*a*ans%p;a=1ll*a*a%p;n>>=1;}return ans;
}

转载于:https://www.cnblogs.com/rvalue/p/11011699.html

[LOJ 6485]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学多项式

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

  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. 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) ...

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

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

  7. GOOD BYE OI

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

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

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

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

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

最新文章

  1. (转)ADC的滤波方法
  2. Node.js 多版本安装方式
  3. 布局管理器 5-----绝对布局
  4. 推荐系统经典论文学习
  5. Linux的实际操作:用户管理(删除用户userdel userdel -r)
  6. python美化输出模块_python日志处理模块
  7. 【翻译自mos文章】使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方式。...
  8. Uboot 启动流程分析
  9. 记录一次nginx 配置https 强制http转发到https
  10. winform:關於画非客户区
  11. 基于SEIRD和元胞自动机(CA)模型的传染病发展趋势预测
  12. 计算机趣味知识竞赛策划,大学生趣味知识竞赛活动的策划书
  13. 奥比中光深度摄像头_IphoneX发布!奥比中光也可提供3D深度摄像头
  14. 网络正常但Chrome不能上网的解决方法
  15. ALexa网站排名查询
  16. win10下pytorch 安装以及查看版本
  17. SpringBoot —— 实现邮件、短信的发送功能
  18. HuskyLens人工智能摄像头
  19. 【AI系列文章推送一】什么是人工智能?
  20. 防火墙技术在计算机网络安全中的应用分析,计算机网络安全中防火墙技术的应用分析...

热门文章

  1. html post提交中文数据,HTML使用post方式提交中文内容出现乱码的错误解决方式
  2. centos后台登录ftp_安卓TikTok无限制版、手游扫码登录更新
  3. 扫地机自动回充揭秘之科沃斯T8
  4. java登录信息怎么保存_请问java如何用cookies保存用户登录信息?
  5. android层叠卡片特效_LINE生日贺卡功能升级 快来试试私人生日贺卡 气球祝福特效...
  6. 怎么在html mui中找到下拉刷新,HelloMUI例子中的下拉刷新
  7. linux终端打开文本编辑器,linux - Linux打开默认终端文本编辑器 - 堆栈内存溢出
  8. sort()基本用法
  9. 承接一个外包开发项目后,开发流程以及如何做好。
  10. 维护项目的管理策略案例