笔记 - 单位根反演
单位根反演
单位根,一个耳熟能详的东西。
单位根 定义为, 的解中,不等于 ,辐角最小的那个。
然后 的 次幂,正好可以遍历 的所有解。
然后 有一些有趣的性质
-
幂可以模
显然,因为 次幂相当于向量转一圈,然后转了个寂寞,所以可以随便的增加 / 减少
-
次幂相当于取负
显然,转半圈转到对面去
这两个性质很显然,但您想必已经明白了它的妙处:它的幂,就相当于在转
单位复根转转转
然后它就可以用来解决一些,与倍数有关的问题 —— 可以把一个倍数的限制条件转化成幂
反演式
这本质是一个等比数列求和。右边会出现一个条件判断,是因为等比数列求和要分公比是否为 来讨论。
然后就讨论一下 是否为 ,就可以证明了
用的时候可以把 移到左边去,然后单独转化一个
千万别忘了除掉那个
顺便再提一嘴,用的时候一般还会带一个组合数,然后变成二项式定理的形式
例题
loj 6247
非常板子
先变成
然后把整除换成单位根反演式子,交换一下求和符号,二项式定理
然后 是 级别。直接做。
小小总结一下
单位根反演,其实就是把一个漂亮的求和,加上一个倍数的限制
然后这时候可以利用单位根的转转转,把倍数换成原来完整的求和
loj 6485
又是一个组合数套一个幂再套一个倍数
这里稍微一点变化是,我们先枚举 %4 余多少,假设是 ,然后去算贡献,完了乘以
换句话说就是算 分别是多少系数
式子略
bzoj 3328
还是老套路,这个枚举倍数在做数论函数题的时候见惯了
直接变成
其中 是斐波那契
然后这里又有组合数,按套路,要找一个幂来
斐波那契,幂...矩阵快速幂!
设
然后 就是 的左上角。这里我们先把矩阵搞出来,最后一步再取左上角。
答案的矩阵
其中 是单位矩阵
然后发现 很小,直接做
思考:题目中的 是做甚么用的?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】