noip数论复习总结
(上不了p站我要死了,侵权度娘背锅)
勉勉强强算是把数论复习的差不多了。
总结一下吧。
其实数论的知识大部分是结合在一起的,勉强分类总结
组合数
求法
组合数的求法根据不同情况选用不同的方法
2、3都是建立在模数为质数的基础上,而1、4适用于任何情况(数据范围内)。4的详细做法点这里。
另外,阶乘的逆元可以o(n)求,以前一直用的o(nlogn)的。。具体做法点这里。
卡特兰数
算是一种组合数的特殊运用。通常如果题目中有暗示“任何时候某数都大于等于另一个数”,就多半是卡特兰数。
卡特兰数的递推公式:C(2n,n)-C(2n,n+1)(记忆法点这里)
直接公式:C(2n,n)/(n+1)
组合数的化简
有些时候列出来的式子太长,难以计算。可以通过组合数的等价转化和递推公式(杨辉三角)来化简式子。例如:bzoj4403
有以下的方法:
1、添项法:+1-1=C(n,n)-1
2、等价法:C(n,n)=C(n+1,n+1)
3、合并(拆项):C(n,m)=C(n-1,m)+C(n-1,m-1)
中国剩余定理(孙子定理)
基础公式
(mi两两互质)
M为所有的mi的乘积,Mi=M/mi,Mi^-1是在模mi意义下的逆元
证明很好证明,带进去化简,发现与上述的式子等价。
拓展孙子定理
使用于任意的mi,但是要复杂的多(这里就不赘述了)
主要的思路就是同于方程转化为等于方程,相当于解方程,合并上去。
在Lucas定理上的应用
Lucas定理的前提是模数为质数。当模数不为质数,但其质因子的指数都等于1时,可以用孙子定理来解决。例如:bzoj1951
线性筛与积性函数
这算不算是终于明白了线性筛?
之前考了一次线性筛筛积性函数,这个积性函数的陌生的,所以只能用一般套路。以前筛欧拉、莫比乌斯都是背的板子。。
详情点这里
欧拉函数
phi(i)表示1到i中与i互质的数的个数
对于欧拉函数,
一是灵活运用其定义,如bzoj2818(没写题解)
二是运用公式: 来解决一些有关gcd的问题
欧拉定理
费尔马小定理
拓展欧拉定理
常常用在幂运算的指数的取模上
拓展欧几里得
基本用途:解方程
拓展用途:求逆元(比欧拉定理求逆元来的快)
容斥原理
这是个高级玩意,以前一直都不太会用。一般有dfs的形式,也有线性的形式。还学到了一个快速统计子集和快速容斥的高级东西。
矩阵
dp的快速递推
通常是这样的形式:
不一定是01,具体情况具体分析,现场模拟一下就好了。
因为有矩阵快速幂这玩意,所以对于递推的dp,可以很快的处理到10^7以上的项。
矩阵乘本身的性质
如hdu1257
朱爷太强了,%%%
大概就到这里吧
就复习了这些,整理一下
noip数论复习总结的更多相关文章
- 【数学】NOIP数论内容整理
NOIP数论内容整理 注:特别感谢sdsy的zxy神仙以及lcez的tsr筮安帮助审稿 一.整除: 对于\(a,b~\in~Z\),若\(\exists~k~\in~Z\),\(s.t.~b~=~k~ ...
- NOIP考前复习-数制转换,数论模板与文件读写
数制转换有两种题型,一般一题,分值1.5分. 题型一:R进制转十进制 解法就是:按权展开,但要注意各个位的权,最低位(最右边)的权是0次方,权值为1. 纯整数的情况: (11010110)2 = 1× ...
- NOIP 考前 数论复习
POJ 2891 x=r1 (mod a1) x=r2 (mod a2) x=a1*x+r1,x=a2*y+r2; a1*x-a2*y=r2-r1; 用Extend_Gcd求出m1*x+m2*y=d; ...
- NOIp知识点复习——最短路计数
$Mingqi\_H$ NOIp 2017考挂了...gg 重新开始好了. 计划明年2月24号前复习完所有的NOIp知识点(毕竟很不熟练啊),之后到七月底前学习完省选的东西(flag?). 从现在开始 ...
- NOIP系列复习及题目集合
首先是我的酱油记了啦~: Xs的NOIP2014酱油记,持续更新中 知识点方面: noip知识点总结之--贪心 noip知识点总结之--线性筛法及其拓展 noip知识点总结之--欧几里得算法和扩展欧几 ...
- [NOIP 2014复习]第三章:动态规划——NOIP历届真题回想
背包型动态规划 1.Wikioi 1047 邮票面值设计 题目描写叙述 Description 给定一个信封,最多仅仅同意粘贴N张邮票,计算在给定K(N+K≤40)种邮票的情况下(假定全部的邮票数量都 ...
- 11.7 NOIP总复习总结
好像要1A模板题.完败 下面主要是一波SB错误总结 最小生成树(忘了sort(QwQ)) // It is made by XZZ // Fei Fan Ya Xi Lie~~~ #include&l ...
- NOIP专题复习1 图论-最短路
一.知识概述 今天我们要复习的内容是图论中的最短路算法,我们在这里讲3种最短路求法,分别是:floyd,dijkstra,spfa. 那么我们从几道例题来切入今天讲解的算法. 二.典型例题 1.热浪 ...
- noip初赛复习总纲
初赛复习总纲 目录 初赛复习总纲 计算机发展史 计算机的分类 计算机的应用 操作系统盘点 计算机的基本结构 中央处理器(**CPU**--**Central Processing Unit**) 存储 ...
随机推荐
- Python全栈工程师(数值类型、运算符)
ParisGabriel Python 入门基础 python的应用领域: 1.系统运维 2.网络编程(如:网络爬虫,搜索引擎,服务器编程) 3.科学计算 4.航空领域(如:卫星, ...
- Ubuntu 安装jdk与tomcat
1.官网下载jdk,地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ,选择 ...
- php利用PHPExcel类导出导入Excel用法
PHPExcel类是php一个excel表格处理插件了,下面我来给大家介绍利用PHPExcel类来导入与导出excel表格的应用方法,有需要了解的朋友不防参考参考(PHPExcel自己百度下载这里不介 ...
- asp.net 条码 一维条码 生成, 一共有32中格式类型
想用asp.net 实现条码功能,网上找了代码都不全. 终于找到了一个非常全的DLL 是winForm的,原以为不能用在WEB 上结果 可以使用. 首先,引用 DLL 不必说了,下面是 使用设置.还有 ...
- Unity Shader-GodRay,体积光(BillBoard,Volume Shadow,Raidal Blur,Ray-Marching)
好久没有更新博客了,经历了不少事情,好在最近回归了一点正轨,决定继续Unity Shader的学习之路.作为回归的第一篇,来玩一个比较酷炫的效果(当然废话也比较多),一般称之为GodRay(圣光),也 ...
- @Transactional(rollbackFor=Exception.class)的作用
在项目中,@Transactional(rollbackFor=Exception.class),如果类加了这个注解,那么这个类里面的方 法抛出异常,就会回滚,数据库里面的数据也会回滚. 这种设置是因 ...
- java.net.BindException: Address already in use: JVM_Bind <null>:8080错误
今天打开myeclipse出现java.net.BindException: Address already in use: JVM_Bind <null>:8080错误 从网上搜了一下大 ...
- code forces Codeforces Round #487 (Div. 2) C
C. A Mist of Florescence time limit per test 1 second memory limit per test 256 megabytes input stan ...
- svn installation
# yum install mod_dav_svn.x86_64 subversion-svn2cl.noarch=========================================== ...
- HDU 1171Big Event in HDU(转01背包)
题意: 给你一组数,分成差距最小的两份A,B(A>=B) 分析: 转01背包 注意: 01背包用一维数组 不要用二维 二维数组若是开太大,内存超限,开太小,RE #include "c ...