单位根反演

[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 次单位根是 kkk 次幂为 111 的复数解 wkw_kwk​。利用单位圆和单位根的关系很容易证明。

  • k∣nk\mid nk∣n

    显然 ωkin\omega_k^{in}ωkin​,相当于转了 ink\frac{in}kkin​ 圈单位圆,结果仍是 111。

    1k∑i=0k−11=1=k∣n\frac 1k\sum_{i=0}^{k-1}1=1=k\mid nk1​∑i=0k−1​1=1=k∣n

  • k∤nk\nmid nk∤n

    使用等比数列求和。

    [k∣n]=1k∑i=0k−1ωkin=1k⋅ωknk−1ωkn−1[k\mid n]=\frac 1k\sum_{i=0}^{k-1}\omega_k^{in}=\frac 1k·\frac{\omega_k^{nk}-1}{\omega_k^n-1}[k∣n]=k1​∑i=0k−1​ωkin​=k1​⋅ωkn​−1ωknk​−1​

    ∵ωknk−1=ωk0−1=0∧ωkn−1≠0\because\omega_k^{nk}-1=\omega_k^0-1=0\wedge \omega_k^n-1\neq 0∵ωknk​−1=ωk0​−1=0∧ωkn​−1​=0

    ∴1k∑i=0k−1ωkin=0=[k∣n]=k∤n\therefore \frac 1k\sum_{i=0}^{k-1}\omega_k^{in}=0=[k\mid n]=k\nmid n∴k1​∑i=0k−1​ωkin​=0=[k∣n]=k∤n

LOJ6485. LJJ学二项式定理

TTT 组数据,给定 n,s,a0,a1,a2,a3n,s,a_0,a_1,a_2,a_3n,s,a0​,a1​,a2​,a3​,求 ∑i=0nC(n,i)⋅si⋅ai(mod4)\sum_{i=0}^nC(n,i)·s^i·a_{i\pmod 4}∑i=0n​C(n,i)⋅si⋅ai(mod4)​。结果对 998244353998244353998244353 取模。

趁热打铁,我们很容易想到将 iii 按模 444 的余数进行分类。对于每一类我们只想统计该统计的数。
∑i=0n(ni)si∑j=03aj[imod 4=j]=∑i=0n(ni)si∑j=03aj[4∣(i−j)]\sum_{i=0}^n\binom nis^i\sum_{j=0}^3a_j[i\ \text{mod}\ 4=j]=\sum_{i=0}^n\binom nis^i\sum_{j=0}^3a_j[4\mid(i-j)] i=0∑n​(in​)sij=0∑3​aj​[i mod 4=j]=i=0∑n​(in​)sij=0∑3​aj​[4∣(i−j)]
直接单位根反演:[4∣(i−j)]=14∑k=03ω4k(i−j)[4|(i-j)]=\frac{1}{4}\sum_{k=0}^3\omega_{4}^{k(i-j)}[4∣(i−j)]=41​∑k=03​ω4k(i−j)​
⇒∑i=0n(ni)si⋅14∑j=03aj⋅∑k=03ω4kiω4−kj=14∑j=03aj∑k=03ω4−kj∑i=0n(ni)siω4ki\Rightarrow \sum_{i=0}^n\binom nis^i·\frac 14\sum_{j=0}^3a_j·\sum_{k=0}^3\omega_4^{ki}\omega_4^{-kj}=\frac 14\sum_{j=0}^3a_j\sum_{k=0}^3\omega_4^{-kj}\sum_{i=0}^n\binom nis^i\omega_4^{ki} ⇒i=0∑n​(in​)si⋅41​j=0∑3​aj​⋅k=0∑3​ω4ki​ω4−kj​=41​j=0∑3​aj​k=0∑3​ω4−kj​i=0∑n​(in​)siω4ki​
二项式定理:∑i=0n(ni)siω4ki=∑i=0n(ni)(sω4k)i=(sω4k+1)n\sum_{i=0}^n\binom nis^i\omega_4^{ki}=\sum_{i=0}^n\binom ni(s\omega_4^k)^i=(s\omega_4^k+1)^n∑i=0n​(in​)siω4ki​=∑i=0n​(in​)(sω4k​)i=(sω4k​+1)n
⇒14∑j=03aj∑k=03ω4−jk(sω4k+1)n\Rightarrow \frac 14\sum_{j=0}^3a_j\sum_{k=0}^3\omega_4^{-jk}(s\omega_4^k+1)^n ⇒41​j=0∑3​aj​k=0∑3​ω4−jk​(sω4k​+1)n
模 998244353998244353998244353 意义下是有四次单位根的,且原根为 333,有 ω41=g(mod−1)/4\omega_4^1=g^{(mod-1)/4}ω41​=g(mod−1)/4。

直接算即可。

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define mod 998244353
int T, n, s;
int a[10], w[10] = { 1, 911660635, 998244352, 86583718 };int qkpow( int x, int y ) {int ans = 1;while( y ) {if( y & 1 ) ans = ans * x % mod;x = x * x % mod;y >>= 1;}return ans;
}signed main() {scanf( "%lld", &T );while( T -- ) {scanf( "%lld %lld", &n, &s );for( int i = 0;i < 4;i ++ ) scanf( "%lld", &a[i] );int ans = 0;for( int i = 0;i < 4;i ++ ) {int sum = 0;for( int j = 0;j < 4;j ++ )( sum += w[(4 - i) * j % 4] * qkpow( s * w[j] % mod + 1, n ) ) %= mod;( ans += sum * a[i] ) %= mod;}printf( "%lld\n", ans * qkpow( 4, mod - 2 ) % mod );}return 0;
}
/*
6
1 2 3 4 5 6
2 3 4 5 6 1
3 4 5 6 1 2
4 5 6 1 2 3
5 6 1 2 3 4
6 1 2 3 4 5
*/

[学习笔记] 单位根反演相关推荐

  1. 【学习笔记】斯特林反演+单位根反演

    upd:抄了一下 ppt \text{ppt} ppt. 1.1 1.1 1.1 斯特林反演 有两个恒等式: [ i = j ] = ∑ ( − 1 ) i − k [ i k ] { k j } [ ...

  2. 莫比乌斯反演专题学习笔记

    莫比乌斯反演专题学习笔记 本文记录一些和莫反有关的内容的笔记 可能存在诸多谬误,阅读时请谨慎分析 若发现文中有谬误,如您愿意,恳请您向我指出,不胜感激! 为什么要学莫比乌斯反演? 解决一类与狄利克雷卷 ...

  3. 【学习笔记】超简单的快速数论变换(NTT)(FFT的优化)(含全套证明)

    整理的算法模板合集: ACM模板 目录 一.前置知识 二.快速数论变换(NTT) 三.NTT证明(和FFT的关系) 四.NTT模板 数组形式的实现 vector形式的实现 点我看多项式全家桶(●^◡_ ...

  4. 【学习笔记】超简单的快速傅里叶变换(FFT)(含全套证明)

    整理的算法模板合集: ACM模板 目录 一.概念概述 二.前置知识 1. 多项式 2. 复数 4. 欧拉公式证明 3. 复数的单位根 / 单位向量 三.FFT 算法概述 四.离散傅里叶变换(DFT) ...

  5. 快速傅里叶变换学习笔记(更新中)

    快速傅里叶变换(FFT)学习笔记 简介 快速傅里叶变换($ \rm Fast Fourier Transformation $), 简称 \(\rm FFT\), 用于在 $ \Theta(n\log ...

  6. 狄利克雷卷积_狄利克雷卷积学习笔记

    蒟蒻我在莫比乌斯反演学习笔记里留下了几个坑,于是开始漫长的填坑路. 狄利克雷卷积学习笔记 前置知识1:数论函数 什么是数论函数呢?数论函数指定义域为正整数,陪域为复数的函数. 以下知识中涉及到的函数大 ...

  7. 数学/数论专题-学习笔记:狄利克雷卷积

    数学/数论专题-学习笔记:狄利克雷卷积 1. 前言 2. 一些基础函数 3. 积性函数 4. 狄利克雷卷积 5. 总结 6. 参考资料 1. 前言 狄利克雷卷积,是学习与继续探究 μ\muμ 函数和 ...

  8. 马科维茨模型 matlab,马科维茨投资组合理论(均方模型)学习笔记——基于Matlab(四)...

    这是本阶段最后一次学习马科维茨投资组合理论的软件实现. 一.创建投资组合 %模拟N种资产的收益率mu=[10 20 30 50 60 90 120];sigma=[0.06 0.01 0.2 0.8 ...

  9. [学习笔记]多项式与有标号简单图计数

    学了一天的有标号无向图计数真的自闭了- 本篇文章是基于2019WC汪乐平大佬的讲课课件<生成函数,多项式算法与图的计数>编写的. 注意:文中所有生成函数都规定为指数型生成函数(EGF),请 ...

最新文章

  1. torch 多进程队列 问题
  2. html 判断页面支持canvas,HTML5 Canvas之测试浏览器是否支持Canvas的方法
  3. php里怎么添加计时器,如何使用php显示计时器?
  4. 快速计算整数的二进制表示法中1的个数
  5. 前端学习(3294):effect hook
  6. Java多线程学习(二)synchronized关键字(1)
  7. [转载] 用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
  8. 2-ESP8266 SDK开发基础入门篇--点亮一个灯
  9. 最新正版nero7序列号注册码
  10. Android 三类框架的理解以及MVVM框架的使用
  11. Global Shutter(全局快门)与Rolling Shutter(卷帘快门)的区别与比较
  12. JavaScript实现富文本编辑器
  13. 用Java来解析torrent文件
  14. 网页游戏外挂的设计与编写:QQ摩天大楼【二】(登陆准备-信息处理方式)
  15. android 获取经纬度(百度地图)
  16. 笔记:新手SEOer必备的WordPress优化插件
  17. PHP开源项目——同城跑腿管理系统
  18. oracle java.sql.SQLException: ORA-00911: 无效字符和ORA-01017: invalid username/password; logon denied
  19. HDU6194 后缀数组的应用
  20. 求Python工程师推荐

热门文章

  1. signature=18441de5a4bb8df92eb5cf5dcca47d1e,Heroísmo y los medios de comunicación (Capítulo 5A 5B)...
  2. android 横向stepview,Android 流程指示器 StepView
  3. lol修改服务器域名,LOL历史转区用户解冻大区官网自助系统地址 新版申请解冻账号网址...
  4. java线程带来的异常,java多线程练习之捕获子线程异常例子
  5. java设计模式face_java设计模式之-------原型模式
  6. 用matlab算24点小游戏,24点游戏的Matlab程序
  7. java短信接口 调用_带你了解短信接口的调用
  8. android system window,Android之属性fitsSystemWindows
  9. mysql 5.5 免安装_mysql 5.5.56免安装版配置方法
  10. [JavaWeb-HTML]HTML文本标签