(上不了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数论复习总结的更多相关文章

  1. 【数学】NOIP数论内容整理

    NOIP数论内容整理 注:特别感谢sdsy的zxy神仙以及lcez的tsr筮安帮助审稿 一.整除: 对于\(a,b~\in~Z\),若\(\exists~k~\in~Z\),\(s.t.~b~=~k~ ...

  2. NOIP考前复习-数制转换,数论模板与文件读写

    数制转换有两种题型,一般一题,分值1.5分. 题型一:R进制转十进制 解法就是:按权展开,但要注意各个位的权,最低位(最右边)的权是0次方,权值为1. 纯整数的情况: (11010110)2 = 1× ...

  3. 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; ...

  4. NOIp知识点复习——最短路计数

    $Mingqi\_H$ NOIp 2017考挂了...gg 重新开始好了. 计划明年2月24号前复习完所有的NOIp知识点(毕竟很不熟练啊),之后到七月底前学习完省选的东西(flag?). 从现在开始 ...

  5. NOIP系列复习及题目集合

    首先是我的酱油记了啦~: Xs的NOIP2014酱油记,持续更新中 知识点方面: noip知识点总结之--贪心 noip知识点总结之--线性筛法及其拓展 noip知识点总结之--欧几里得算法和扩展欧几 ...

  6. [NOIP 2014复习]第三章:动态规划——NOIP历届真题回想

    背包型动态规划 1.Wikioi 1047 邮票面值设计 题目描写叙述 Description 给定一个信封,最多仅仅同意粘贴N张邮票,计算在给定K(N+K≤40)种邮票的情况下(假定全部的邮票数量都 ...

  7. 11.7 NOIP总复习总结

    好像要1A模板题.完败 下面主要是一波SB错误总结 最小生成树(忘了sort(QwQ)) // It is made by XZZ // Fei Fan Ya Xi Lie~~~ #include&l ...

  8. NOIP专题复习1 图论-最短路

    一.知识概述 今天我们要复习的内容是图论中的最短路算法,我们在这里讲3种最短路求法,分别是:floyd,dijkstra,spfa. 那么我们从几道例题来切入今天讲解的算法. 二.典型例题 1.热浪 ...

  9. noip初赛复习总纲

    初赛复习总纲 目录 初赛复习总纲 计算机发展史 计算机的分类 计算机的应用 操作系统盘点 计算机的基本结构 中央处理器(**CPU**--**Central Processing Unit**) 存储 ...

随机推荐

  1. selenium IDE录制

    一.        安装 可以用Firefox打开https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/,在这里边找到和当前firef ...

  2. python基础实践(一)

    -*-纸上得来终觉浅,绝知此事要恭行.-*-# -*- coding:utf-8 -*-# Author:sweeping-monkname = "什么是字符串?"What_is_ ...

  3. Java 多线程(Thread)学习

    多线程:就是进程的扩展,实现并发.一个进程可以包含多个线程,进程一般是由操作系统控制,而线程就是由程序员控制的,所以作为编程人员做好线程是我们的重点. 线程和进程一样分为五个阶段:创建.就绪.运行.阻 ...

  4. intellij idea 2017 快捷键(提高工作效率)

    1.Shift+Enter Annotation annotation = c.getAnnotation(A.class); 这个时候你写代码的时候可能光标在c.getAnno中的某一个位置,那么你 ...

  5. C#中不用安装Oracle客户端连接Oracle数据库(转)

    原文地址:http://www.cnblogs.com/jiangguang/archive/2013/02/19/2916882.html 0.首先,从Oracle网站上下载对应版本的Oracle ...

  6. hdu1007 平面最近点对(暴力+双线程优化)

    突发奇想,用双线程似乎可以优化一些暴力 比如说平面最近点对这个题目,把点复制成2份 一份按照x排序,一份按照y排序 然后双线程暴力处理,一份处理x,一份处理y 如果数据利用x递减来卡,那么由于双线程, ...

  7. js执行时间(调试)

    js 执行时间 function use_time(func) {    var start = new Date().getTime(); console.log(start);        fu ...

  8. 学习C++ -> 向量(vector)

    一.向量的介绍 向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器. 与string相同, vector 同属于STL(Standard Template Lib ...

  9. 【IDEA】IDEA设置修改完JS和JSP不用重启的办法(IDEA热部署)

    修改完JS和JSP不停的重启服务器真的很烦,所以设置修改完之后不用重启也生效: 前提有两个: 确保使用的是debug模式. 确保tomcat是由idea实例化的.也就是说tomcat是在idea中配置 ...

  10. 【IDEA】IDEA中部署的项目添加Tomcat自带的一些项目

    在IDEA部署项目的时候发现没有tomcat自带的一些项目,有时候我们需要tomcat自带的项目查看一些配置的信息,经过查阅资料后做记录如下: 1.在Eclipse中点击Run ->Edit C ...