数论随记(二)

HDU1573 /*中国剩余定理*/

10. 公式

1. ab(mod m) (a mod m) b (mod m) (化简);

HDU1395 (2^x 1(mod n) 2^x%n 1(mod n) )

2. xa(mod m) x*ka*k(mod m);

3. xn-a(mod m) x+an(mod m); HDU1788

4. gcd(a,b)=k gcd(a/k,b/k)=1;

5. a%k= (变型: %k= ) HDU1852

如果m与k互素,则(a/m)%k=a*m^(phi(k)-1)%k

6. a≡b(mod m),c≡d(mod m) a±c≡b±d(mod m) ac≡bd(mod m)

11. 容斥原理

HDU1695 /*容斥,欧拉*/ /*莫比乌斯反演*/

12. 莫比乌斯反演

反演公式:

(形式二:

其中,

=

为积性函数,称为 莫比乌斯函数。

|| 性

\/ 质
1.

2.

HDU1695 /**/

13. 规律

1. a+b+ab (a+1)(b+1)-1

n=(a+1)(b+1)-1=(a1+1)(a2+1)(b1+1)(b2+1)-1=…=(a1+1)(a2+1)(a3+1)…(+1)-1

HDU1719

2.

14. 快速幂取模

二分思想,秦九昭算法

typedef long long LL;

LL quick_mod(LL a,LL b,LL k)

{

LL ans=1;

while(b>0)

{

if(b&1)

{

ans=ans*a%k;

}

a=a*a%k;

b>>=1;

}

return ans;

}

15. 数论四大定理

1.威尔逊定理

若p为质数,则p可整除(p-1)!+1。

2. 欧拉定理

若gcd(a,n) = 1,则a^φ(n) ≡ 1 (mod n)

3. 费马小定理

p是质数,若p不能整除a,则 a^(p-1) ≡1(mod p),

若p能整除a,则a^(p-1) ≡0(mod p)。

(费马大定理)当整数 时,关于 的方程 没有正整数解。

(伪素数)满足公式但P非质数。若n能整除2^(n-1)-1,并n是非偶数的合数,那么n就是伪素数。HDU1905

(卡米切尔数) 对于合数n,如果对于所有正整数b,b和n互素,都有同余式b^(n-1)≡ 1 (mod n)成立,则合数n为Carmichael数。

4.中国剩余定理

见9.

16. 矩阵

1.乘法:*

每一项:= * 三重循环(i,j,k)

不满足交换律

2.转置

17. 高斯消元

时间: 2024-12-29 10:19:34

数论随记(二)的相关文章

硅谷行记二:走进百度美国研发中心

硅谷行记二:走进百度美国研发中心 牛智超02月01日 12:44 分享到:                                                                                                                                                      4 百度                                       百家                  

Java入门记(二):向上转型与向下转型

在对Java学习的过程中,对于转型这种操作比较迷茫,特总结出了此文.例子参考了<Java编程思想>. 目录 几个同义词 向上转型与向下转型 例一:向上转型,调用指定的父类方法 例二:向上转型,动态绑定 例三:向上转型,静态绑定 例四:向下转型 转型的误区 1.运行信息(RTTI) 2.数组类型 3.Java容器 几个同义词 首先是几组同义词,由于在不同的书上使用的不同,是造成混淆的原因之一. 父类/超类/基类 子类/导出类/继承类/派生类 静态绑定/前期绑定 动态绑定/后期绑定/运行时绑定 向

vue2入坑随记(二) -- 自定义动态组件

学习了Vue全家桶和一些UI基本够用了,但是用元素的方式使用组件还是不够灵活,比如我们需要通过js代码直接调用组件,而不是每次在页面上通过属性去控制组件的表现.下面讲一下如何定义动态组件. Vue.extend 思路就是拿到组件的构造函数,这样我们就可以new了.而Vue.extend可以做到:https://cn.vuejs.org/v2/api/#Vue-extend // 创建构造器 var Profile = Vue.extend({ template: '<p>{{firstName

随便写写2014创业记(二)

这篇文章既然已经开始写了,那就坚持写完吧.可能文章中有很多不符合各位胃口的,请暂且不要去理会其是不是做错了还是做对了,经过这么长的时间我明白一个很简单的道理,只要你做事情就肯定会有错的地方或者不如意的地方. 四. 坚持 每次出去户外下山之后心里总是给自己说一句"我活在回来了",这话当然有点夸张.2014年这一年我很庆幸的说"我们公司活下来了".对于2014年上半年来说是痛苦的半年,去年展望的美好全在今年上半年破灭.基本上过年前后属于一个市场淡季,很多项目接洽工作都没

个人应用开发详记. (二)

好久没更新. 最近太忙了. 公司项目版本更新. 一大波需求和BUG.  咳咳, 扯远了. 来看看新界面吧~ 画面改了下. 总感觉哪里不对劲啊!!!  不过暂时先这样了  .  新增了发现 和消息模块.   这2个模块的内容 暂时还没想好该装点什么东西. 没有产品经理的烦恼. 又得码代码 又要想需求. 感觉头发都要白了. ╥﹏╥... 我的模块. 基本雏形出来了.   以后的改动 应该也不会太大. 吐槽下自己的画图能力..  下面4个小图标搞了我一个下午时间 (?_?) 编辑个人资料页面.  基本

Makefile书写注意事项--个人择记(二)

第三章 Makefile 总述 在一个完整的Makefile中,包含了5个东西:显式规则.隐含规则.变量定义.指示符和注释. 显式规则.隐含规则.变量定义和注释省略,以下只简单介绍指示符 Makefile指示符:指示符指明在make程序读取makefile文件过程中所要执行的一个动作.其中包括: 1.读取一个文件,读取给定文件名的文件,将其内容作为makefile文件的一部分 2.决定(通常是根据一个变量的得值)处理或者忽略makefile中的某一特定部分. 3.定义一个多行变量.

Visual Studio For MacOS 踩坑记(二)

Visual Studio For MacOS安装安卓SDK. 系统默认安装了安卓6.0  API23的SDK.  但是我需要安卓7.0的,API24.  遂安装. SDK可以下载成功,但是用Visual Studio For MacOS里的SDK管理工具,怎么也安装不成功.只告诉我失败,原因没有. 折腾了N次,搞的无比操蛋. 后思考下,SDK就是一些文件嘛.  能搞一份放里面就好. 经过一番折腾,查到了资料.  看直接运行路径 /Users/用户名/Library/Developer/Xama

(NO.00003)iOS游戏简单的机器人投射游戏成形记(二十一)

回到Xcode中,在MainScene.h接口中添加碰撞协议: @interface MainScene : CCNode <CCPhysicsCollisionDelegate> //... @end 然后在MainScene.m初始化方法中打开碰撞代理: _physicWorld = (CCPhysicsNode*)[self getChildByName:@"physicWorld" recursively:YES]; NSAssert(_physicWorld, @

(NO.00003)iOS游戏简单的机器人投射游戏成形记(二)

打开Ai按需求依次绘制机器人身体,手臂和篮框: 因为是实验性质的游戏所以没必要在这上面花太多功夫,画出意思即可.虽然是2D游戏,但实际游戏中可以表现出伪3D的图形效果;尽管本猫这次画的游戏元素都是满满的2D效果 ;) 还要注意的是各个游戏元素大小的比例需要适中,因为机器人身体和手臂需要在游戏中组合,且手臂需要单独转动,所以分开绘制. 我们还需要子弹元素,就拿NO.00002游戏中的子弹素材吧: SpriteBuilder新建项目,命名为ShootBall. 将之前绘制的游戏素材拖入新建的Imag