数论TIPS(Loading...)
1.一个数的约数和=(1+p1+p12+...+p1c1)*(1+p2+p22+...+p2c2)*...*(1+pk+pk2+...+pkck)(p为这个数的各个质因数,c表示为各个质因数的次方,k表示质因数个数)
2.求一个数的质因数只需要O(sqrt(n))的时间复杂度,先筛出素数,然后将原数除去小素数,如果原数最后不为1,那么这个数肯定也是素数
3.相邻的数交换使得最终成为上升序列,交换的次数为逆序对数
4.费马小定理:若p为质数,则$a^{p}≡a(mod\;p)$
5.欧拉定理:若正整数a,n互质,则$a^{\phi(n)}≡1(mod\;n)$
6.一个正整数n,设它其中一个约数为p,那么gcd(i,n)==p的有$\phi(n/p)$个
7.欧拉定理推论:若正整数a,n互质,则对于任意正整数b,有$a^{b}≡a^{b\;mod\;\phi(n)}(mod\;n)$
8.乘法逆元:若整数b,p互质,并且b|a,则存在一个整数x,使得a/b≡a*x(mod p),则称x为b的模p乘法逆元,当模数p为质数时,bp-2即为b的乘法逆元,也就是b-1≡bp-2(mod p)
9.中国剩余定理(crt):设m1,m2,...,mn是两两互质的整数,$m=\prod_{i=1}^{n}m_{i}$,Mi=m/mi,ti是线性同余方程Miti≡1(mod mi)的一个解,对于任意的n个整数a1,a2,...,an,方程组:x≡a1(mod m1),x≡a2(mod m2),...,x≡an(mod mn),有整数解,且解为$x=\sum_{i=1}^{n}a_{i}M_{i}t_{i}$
10.二项式定理:$(a+b)^{n}=\sum_{k=0}^{n}C_{n}^{k}a^{k}b^{n-k}$
11.Lucas定理:若p是质数,则对于任意整数1<=m<=n,有:$C_{n}^{m}=C_{n\;mod\;p}^{m\;mod\;p}*C_{n/p}^{m/p}(mod\;p)$
12.Catalan数列:给定n个0,n个1,他们按照某种顺序排成长度为2n的序列,满足任意前缀中0的个数都不少于1的个数的序列的数量为$Cat_{n}=\frac{C_{2n}^{n}}{n+1}$
Catalan数推论:
(1).n个左括号和n个右括号组成的合法括号序列的数量为Catn
(2).1,2,...,n经过一个栈,形成的合法出栈序列的数量为Catn
(3).n个节点构成的不同二叉树的数量为Catn
(4).在平面直角坐标系上,每一步只能向上或向右走,从(0,0)走到(n,m)并且除两个端点外不接触直线y=x的路线数量为2Catn-1
13.莫比乌斯函数的性质:
(1).对于一个数d,如果d=1,$\mu(d)=1$,如果d为互异质数p1p2p3...pk的乘积,则$\mu(d)=(-1)^{k}$,否则$\mu(d)=0$
(2).$\sum_{d|x}\mu(d)=[x==1]$
(3).对于任意正整数n有:$\sum_{d|n}\frac{\mu(d)}{d}=\frac{\phi(n)}{n}$
(4).$\sum_{d|x}\phi(d)=x$
莫比乌斯反演:
(1).如果存在函数F(x)和f(x),满足$F(n)=\sum_{d|n}f(d)$,则可以得到$f(n)=\sum_{d|n} \mu(d)F(\frac{n}{d})$
(2).如果存在函数F(x)和f(x),满足$F(n)=\sum_{n|d}f(d)$,则可以得到$f(n)=\sum_{n|d}\mu(\frac{d}{n})F(d)$
14.序列错排求解:对于一个长度为n的序列,n个数互不相同且均为1到n的数,使得一个序列中第i个位置都不等于i的序列数量为$D(n)$。令$D(0)=1,D(1)=0$,得$D(n)=(n-1)*(D(n-1)+D(n-2))$
15.对于一个n*m的图,只能向右或向下行走,从左上角走到右下角的方案数为$C_{n+m-2}^{n-1}$
16.快速求自然数幂和$\sum_{i=1}^{n}i^{k}\mod p$的几种方法
(1).差分表,$S(n,k)=\sum_{i=1}^{n}i^{k}$
公式:$S(n,k)=\frac{1}{k+1} \left( (n+1)^{k+1}-n-1-\sum_{i=2}^{k}C_{k+1}^{i}S(n,k-i+1) \right )$
复杂度:$O(k^{2})$
(2).伯努利数,$B_{0}=1$
因为$\sum_{j=0}^iC_{i+1}^jB_j=0$
所以$B_i=-\frac{1}{i+1}\sum_{j=0}^{i-1}C_{i+1}^{j}B_j$
公式:$\sum_{i=1}^{n}i^k={1\over{k+1}}\sum_{i=1}^{k+1}C_{k+1}^i*B_{k+1-i}*(n+1)^i$
复杂度:$O(Tk)$T为数据组数
17.1到x中,与x互质的数的和为$\frac{\phi(x)*x}{2}$,特殊的,当x=1时,数和为0
18.等比数列$\S_{n}=\frac{a_1(1-q^n)}{1-q}$,$S_n$为前n项的和,$a_1$为首项,$q$为公比
数论TIPS(Loading...)的更多相关文章
- Java性能提示(全)
http://www.onjava.com/pub/a/onjava/2001/05/30/optimization.htmlComparing the performance of LinkedLi ...
- 【原】小写了一个cnode的小程序
小程序刚出来的第一天,朋友圈被刷屏了,所以趁周末也小玩了一下小程序.其实发觉搭建一个小程序不难,只要给你一个demo,然后自己不断的查看文档,基本就可以入门了,不过对于这种刚出来的东西,还是挺多坑的, ...
- 微信小程序之wepy自动化架构搭建(fly+wepy-plugin-replace)
前言 本文章秉着自动化工程项目的思想搭建的,基础架子完全按照wepy官网搭建,在基础上增加配置达到自动化项目.新增动flxio拦截器自动处理接口,新增根据环境变量来改变运行时的参数. Fly.js 小 ...
- Ajax——瀑布流
基本概念 1.宽度是一致的,高度上参差不齐 2.新增内容优先放置在最矮的地方 核心难点 1.用一个数组存储每列的高度值 2.新值添加到值最小索引上,每次替换更新数组 插件使用 1.$.fn.exten ...
- AssetBundle loading failed because.....已解决
http://blog.csdn.net/ldghd/article/details/9632455 ***************************** 一 ******* ...
- android 官方文档 JNI TIPS
文章地址 http://developer.android.com/training/articles/perf-jni.html JNI Tips JNI is the Java Native I ...
- 游戏Loading中的小提示和Loading动画实现
学习unity1年多了,工作也1年了,因为工作需要,有几个月没接触unity Ngui啦. 学的还是不踏实.继续努力吧.由于下周就要进行新游戏的开发,这几天熟悉熟悉NGUI,今天按照现在公司以前的项目 ...
- Android Tips – 填坑手册
出于: androidChina http://www.androidchina.net/3595.html 学习 Android 至今,大大小小的坑没少踩,庆幸的是,在强大的搜索引擎与无私奉献的 ...
- 【数论,找规律】Uva 11526 - H(n)
原来做过的题再看还是没想出来,看来当时必然没有真正理解.这次回顾感觉理解更透彻了. 网上的题解差不多都是一个版本,而且感觉有点扯.根据n=20猜出来的? 好吧哪能根据一个就猜到那么变态的公式.其实这题 ...
随机推荐
- Hashmap 详解和迭代器问题
重点介绍HashMap.首先介绍一下什么是Map.在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.在下文中会 ...
- [Offer收割]编程练习赛41
比赛日程安排 #pragma comment(linker, "/STACK:102400000,102400000") #include<stdio.h> #incl ...
- hdu3861 The King’s Problem 强连通缩点+DAG最小路径覆盖
对多校赛的题目,我深感无力.题目看不懂,英语是能懂的,题目具体的要求以及需要怎么做没有头绪.样例怎么来的都不明白.好吧,看题解吧. http://www.cnblogs.com/kane0526/ar ...
- RAID5存储上parted进行分期及UUID对应关系
#parted [设备] [命令 [参数]]命令功能: 新增分区:mkpart [primary|logical|extended] [ext3|vfat] 开始 结束 分区表:print 删除分区: ...
- (转)RabbitMQ学习之消息可靠性及特性
http://blog.csdn.net/zhu_tianwei/article/details/53971296 下面主要从队列.消息发送.消息接收方面了解消息传递过的一些可靠性处理. 1.队列 消 ...
- Win7系统下调整硬盘分区大小给C盘更多的空间
电脑安装了很多程序,C盘空间越来越小了.如何给C盘调整更多的空间,其实只要调整硬盘分区大小便可解决这个问题,下面有个小技巧,需要的朋友照做就可以了 Win7系统下如何调整硬盘分区大小,以前装系统的时候 ...
- java 常用API 包装 数据转换
package com.oracel.demo01; public class Sjzh { // 将基本数据类型转字符串 public static void main(String[] args) ...
- ZJOI2015 幻想乡战略游戏 动态点分治_树链剖分_未调完
Description 傲娇少女幽香正在玩一个非常有趣的战略类游戏,本来这个游戏的地图其实还不算太大,幽香还能管得过来,但是不知道为什么现在的网游厂商把游戏的地图越做越大,以至于幽香一眼根本看不过来, ...
- 【leecode】小练习(简单8题)
def twoSum(nums, target): """ 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[ ...
- vj线段树专题
vj线段树专题题解 单点更新模板 void build(int x,int l,int r){//sum[x]控制l-r区域 if(l==r){Sum[x]=num[l];return ;} int ...