浅谈逆元
来源:互联网 发布:梭哈网络用语什么意思 编辑:程序博客网 时间:2024/06/04 23:24
先举例子:
·初遇一道有关逆元的题目,题目大意:
·随机给定n个数,有多少种方法使得这n个数构成一个大小为n的二叉堆(即大根堆和小根堆)?
·可以考虑树形dp
·设表示用i个数能够成多少个大小为n的二叉堆,则有
(i.left.tot表示以i为根的左子树的个数)
或
(i.right.tot表示以i为根的右子树的个数)
两式等立
·证明:
已知一棵树是由根以及左子树和右子树组成,当左子树满足堆性质,右子树满足堆性质,则整棵树都可满足堆性质(因为是任选n个数,则根一定可以满足堆性质)故,左子树在n个数里任选i.left.tot个,都可贡献f(i.left)的答案,当左子树确定时右子树即确定,故右子树确定时左子树确定(完全二叉树性质)
·上述算法瓶颈在于求
·因为答案要求摸m(质数,10^9+7)
·可以分解质因数,但效率太慢
·转入正题,逆元~
逆元
·逆元定义:若有,则称x为a模m的逆元
·逆元用处:可把除法转为乘法,加快运算速度
·定义:表示b与m的逆元
·举例:
如中,设被除数为a,除数为b,则
·证明:
根据费马小定理可得
费马小定理
证明:
·定理1:
若,且,则;
证:
故为的倍数,故可约去
∴
·定理2:
通过定理1可得,若取素数的完全剩余系,给定,则也为m的完全剩余系。
证:采用反证法.
若
则通过定理1可得
通过完全剩余系的性质可得不可能有两数同余,故定理成立
·通过定理2可得,取素数m的既约剩余系,则
故可以通过定理1的逆运用可得
·证毕
·证明费马小定理最基本也是最重要的是弄懂定理1,其余可以迎刃而解
以上定理参考度娘
- 浅谈逆元
- 浅谈逆元
- 浅谈逆元&费马小定理
- 浅谈ACM竞赛中的逆元
- 浅谈逆元 (高中OJ3805)
- 浅谈C++友元
- 浅谈C++类- 友元
- 浅谈数论(四)扩展欧几里得算法与乘法逆元
- 浅谈C++类(5)--友元
- 浅谈元认知理论与学会学习
- 浅谈C++中的友元关系
- 浅谈C++中的友元关系
- 浅谈C++中的友元关系
- 浅谈C++中的友元关系
- 浅谈C++中的友元关系
- 辛星浅谈mysql中的元数据
- 浅谈设计模式之享元模式
- 浅谈C++类(5)--友元
- 第一行安卓代码——创建自定义控件3.4
- Android 5.0以下出现java.lang.NoClassDefFoundError错误
- 关于eclipse配置svn版本控制工具
- adb命令
- (Ryan的Redis系列博客)5.Redis的键字符串类型
- 浅谈逆元
- 设计数据库时需要考虑的问题
- 浅谈排列组合
- HTML初级应用——简单的页面拼写(1)
- 在 Ubuntu Server 16.04 LTS 上安装 LAMP
- freemarker判断对象是否为空的方法
- java 接收ios文件上传
- 如何提高生产力(四)、兼职为什么很难操作-
- Android HorizontalScrollView左右滑动