摘要: 莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d是n的所有因子 μ(x)是莫比乌斯函数,它是这样计算的 μ(1) = 1 x = p1 * p2 * 阅读全文
posted @ 2017-08-13 17:47 GGBeng 阅读(2064) 评论(0) 推荐(0)
摘要: 终于讲到反演定理了,反演定理这种东西记一下公式就好了,反正我是证明不出来的~(~o ̄▽ ̄)~o 首先,著名的反演公式 我先简单的写一下o( ̄ヘ ̄*o) 比如下面这个公式 f(n) = g(1) + g(2) + g(3) + ... + g(n) 如果你知道g(x),蓝后你就可以知道f(n)了 如果 阅读全文
posted @ 2017-08-13 17:44 GGBeng 阅读(3236) 评论(0) 推荐(0)
摘要: 前言: 母函数是个很难的东西,难在数学 而ACM中所用的母函数只是母函数的基础 应该说除了不好理解外,其他都是非常简单的 母函数即生成函数,是组合数学中尤其是计数方面的一个重要理论和工具。 但是ACM中的母函数木有像数学那么深究,应用的都是母函数的一些基本 (就好比方程的配方,因式的分解,写起来容易 阅读全文
posted @ 2017-08-13 17:42 GGBeng 阅读(586) 评论(0) 推荐(0)
摘要: 有366人,那么至少有两人同一天出生(好孩子就不要在意闰年啦( ̄▽ ̄")) 有13人,那么至少有两人同一月出生 这就是抽屉原理 抽屉原理:把n+1个物品放到n个抽屉里,那么至少有两个物品在同一个抽屉里 鸽巢原理:把n+1个鸽子放到n个鸽巢里,那么至少有两个鸽子在同一个鸽巢里 球盒原理:把n+1个小球 阅读全文
posted @ 2017-08-13 17:36 GGBeng 阅读(982) 评论(0) 推荐(0)
摘要: 容斥原理我初中就听老师说过了,不知道你们有没有听过(/≧▽≦)/ 百度百科说: 在计数时,必须注意没有重复,没有遗漏。 为了使重叠部分不被重复计算,人们研究出一种新的计数方法。 这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去 阅读全文
posted @ 2017-08-13 17:34 GGBeng 阅读(734) 评论(0) 推荐(0)
摘要: 在我们做题中,搜索也好,动态规划也好,我们往往有时候需要用一个数字表示一种状态 比如有8个灯泡排成一排,如果你用0和1表示灯泡的发光情况 那么一排灯泡就可以转换为一个二进制数字了 比如 01100110 = 102 11110000 = 240 10101010 = 170 通过这些十进制数,只要把 阅读全文
posted @ 2017-08-13 17:30 GGBeng 阅读(260) 评论(0) 推荐(0)
摘要: c/c++语言中,关于指数,对数的函数我也就知道那么多 exp(),pow(),sqrt(),log(),log10(), exp(x)就是计算e的x次方,sqrt(x)就是对x开根号 pow()函数可是十分强大的( ̄ε ̄) pow(a, b)可以算a的b次方,但是b不限于整数,小数也可以 所以po 阅读全文
posted @ 2017-08-13 17:28 GGBeng 阅读(1065) 评论(0) 推荐(1)
摘要: 记得前几章的组合数吧 我们学了O(n^2)的做法,加上逆元,我们又会了O(n)的做法 现在来了新问题,如果n和m很大呢, 比如求C(n, m) % p , n<=1e18,m<=1e18,p<=1e5 看到没有,n和m这么大,但是p却很小,我们要利用这个p (数论就是这么无聊的东西,我要是让n=1e 阅读全文
posted @ 2017-08-13 17:23 GGBeng 阅读(237) 评论(0) 推荐(0)
摘要: 公元前后的《孙子算经》中有“物不知数”问题:“今有物不知其数,三三数之余二 ,五五数之余三 ,七七数之余二,问物几何?”答为“23”。 就是说,有一个东西不知道有多少个,但是它求余3等于2,求余5等于3,求余7等于2,问这个东西有多少个?”答为“23”。 用现代数学的语言来说明的话,中国剩余定理给出 阅读全文
posted @ 2017-08-13 17:20 GGBeng 阅读(389) 评论(0) 推荐(0)
摘要: 组合数并不陌生(´・ω・`) 我们都学过组合数 会求组合数吗 一般我们用杨辉三角性质 杨辉三角上的每一个数字都等于它的左上方和右上方的和(除了边界) 第n行,第m个就是,就是C(n, m) (从0开始) 电脑上我们就开一个数组保存,像这样 用递推求 (PS:大部分题目都要求求余,而且大部分都是对1e 阅读全文
posted @ 2017-08-13 17:12 GGBeng 阅读(439) 评论(0) 推荐(0)
摘要: 欧拉函数,用φ(n)表示 欧拉函数是求小于等于n的数中与n互质的数的数目 辣么,怎么求哩?~(~o ̄▽ ̄)~o 可以先在1到n-1中找到与n不互质的数,然后把他们减掉 比如φ(12) 把12质因数分解,12=2*2*3,其实就是得到了2和3两个质因数 然后把2的倍数和3的倍数都删掉 2的倍数:2,4 阅读全文
posted @ 2017-08-13 17:07 GGBeng 阅读(546) 评论(0) 推荐(0)
摘要: 数论倒数,又称逆元(因为我说习惯逆元了,下面我都说逆元) 数论中的倒数是有特别的意义滴 你以为a的倒数在数论中还是1/a吗 (・∀・)哼哼~天真 先来引入求余概念 (a + b) % p = (a%p + b%p) %p (对) (a - b) % p = (a%p - b%p) %p (对) (a 阅读全文
posted @ 2017-08-13 16:30 GGBeng 阅读(821) 评论(0) 推荐(0)
摘要: 假如p是质数,若p不能整除a,则 a^(p-1) ≡1(mod p),若p能整除a,则a^(p-1) ≡0(mod p)。 或者说,若p是质数,且a,p互质,那么 a的(p-1)次方除以p的余数恒等于1。 你看你看你看o(*≧▽≦)ツ,是不是和欧拉定理很像 因为欧拉定理是费马小定理的推广,所以欧拉定 阅读全文
posted @ 2017-08-13 16:28 GGBeng 阅读(346) 评论(0) 推荐(0)
摘要: 欧拉定理,也称费马-欧拉定理 若n,a为正整数,且n,a互质,即gcd(a,n) = 1,则 a^φ(n) ≡ 1 (mod n) φ(n) 是欧拉函数 欧拉函数是求小于等于n的数中与n互质的数的数目 (o>▽<)太长看不懂?我来帮你断句 欧拉函数是求 (小于n的数 )中 (与n互质的数 )的数目 阅读全文
posted @ 2017-08-13 16:27 GGBeng 阅读(566) 评论(0) 推荐(0)
摘要: 度娘百科说: 首先, ax+by = gcd(a, b) 这个公式肯定有解 (( •̀∀•́ )她说根据数论中的相关定理可以证明,反正我信了) 所以 ax+by = gcd(a, b) * k 也肯定有解 (废话,把x和y乘k倍就好了) 所以,这个公式我们写作ax+by = d,(gcd(a, b) 阅读全文
posted @ 2017-08-13 16:25 GGBeng 阅读(184) 评论(0) 推荐(0)
摘要: a的b次方怎么求 pow(a, b)是数学头文件math.h里面有的函数 可是它返回值是double类型,数据有精度误差 那就自己写for循环咯 完美 可是题目是b的范围是1 <= b <= 1e9(#°Д°) 超时,妥妥的。。。 看个例子 比如计算 2*2*2*2*2*2*2*2*2*2*2 可以 阅读全文
posted @ 2017-08-13 16:23 GGBeng 阅读(287) 评论(0) 推荐(0)
摘要: gcd(a, b),就是求a和b的最大公约数 lcm(a, b),就是求a和b的最小公倍数 然后有个公式 a*b = gcd * lcm ( gcd就是gcd(a, b), ( •̀∀•́ ) 简写你懂吗) 解释(不想看就跳过){ 首先,求一个gcd,然后。。。 a / gcd 和 b / gcd 阅读全文
posted @ 2017-08-13 16:23 GGBeng 阅读(403) 评论(0) 推荐(0)
摘要: 素数,又叫质数,定义是除了1和它本身以外不再有其他的因数 我们通过这个定义,可以写如下程序判断一个数是不是质数 这个程序的时间复杂度是O(n),有没有更快的方法,当然 看这个 这个复杂度是O(√n),速度快多了(#°Д°) 根据题目不同,有可能你需要先预处理出1~N这N个数是否是素数 如果用刚刚的方 阅读全文
posted @ 2017-08-13 16:17 GGBeng 阅读(276) 评论(0) 推荐(0)
摘要: 点击啊 阅读全文
posted @ 2017-08-13 16:05 GGBeng 阅读(114) 评论(0) 推荐(0)
摘要: 啊 阅读全文
posted @ 2017-08-13 16:04 GGBeng 阅读(162) 评论(0) 推荐(0)
摘要: 斜率优化/单调队列优化/四边形优化 阅读全文
posted @ 2017-08-13 16:02 GGBeng 阅读(169) 评论(0) 推荐(0)
摘要: 点击 阅读全文
posted @ 2017-08-13 16:00 GGBeng 阅读(126) 评论(0) 推荐(0)
摘要: https://www.zhihu.com/question/34039162 阅读全文
posted @ 2017-08-13 15:58 GGBeng 阅读(135) 评论(0) 推荐(0)
摘要: 博客 阅读全文
posted @ 2017-08-13 15:57 GGBeng 阅读(165) 评论(0) 推荐(0)
摘要: 333 阅读全文
posted @ 2017-08-13 15:55 GGBeng 阅读(105) 评论(0) 推荐(0)
摘要: http://blog.csdn.net/d891320478/article/details/9181385 阅读全文
posted @ 2017-08-13 15:54 GGBeng 阅读(127) 评论(0) 推荐(0)
摘要: 一、博客导航 阅读全文
posted @ 2017-08-13 15:53 GGBeng 阅读(128) 评论(0) 推荐(0)
摘要: 数位dp 区间dp 状压dp 概率dp 阅读全文
posted @ 2017-08-13 15:50 GGBeng 阅读(236) 评论(0) 推荐(0)
摘要: 13 阅读全文
posted @ 2017-08-13 15:49 GGBeng 阅读(139) 评论(0) 推荐(0)
摘要: 一、博客导航 阅读全文
posted @ 2017-08-13 15:47 GGBeng 阅读(221) 评论(0) 推荐(0)
摘要: 11 阅读全文
posted @ 2017-08-13 15:44 GGBeng 阅读(158) 评论(0) 推荐(0)
摘要: 一、博客导航 阅读全文
posted @ 2017-08-13 15:41 GGBeng 阅读(272) 评论(0) 推荐(0)
摘要: 桥99 阅读全文
posted @ 2017-08-13 15:39 GGBeng 阅读(238) 评论(0) 推荐(0)
摘要: 8 阅读全文
posted @ 2017-08-13 15:38 GGBeng 阅读(152) 评论(0) 推荐(0)
摘要: 一、博客导航 阅读全文
posted @ 2017-08-13 15:34 GGBeng 阅读(163) 评论(0) 推荐(0)
摘要: 一、博客导航 阅读全文
posted @ 2017-08-13 15:33 GGBeng 阅读(178) 评论(0) 推荐(0)
摘要: 一、博客导航 阅读全文
posted @ 2017-08-13 15:30 GGBeng 阅读(297) 评论(0) 推荐(0)
摘要: 一、相关介绍 后缀数组 处理字符串的有力工具 可以处理后缀自动机解决不了的问题 后缀数组被称为SA,后缀自动机被称为SAM 。 更详细的讲解点击 阅读全文
posted @ 2017-08-13 15:25 GGBeng 阅读(180) 评论(0) 推荐(0)
摘要: 3 阅读全文
posted @ 2017-08-13 15:24 GGBeng 阅读(159) 评论(0) 推荐(0)
摘要: 一、相关介绍 线段树:它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题。由于二叉结构的特性,它基本能保持每个操作的复杂度为O(logn)。 线段树的每个节点表示一个区间,子节点则分别表示父节点的左右半区间,例如父亲的区间是[a,b],那么(c=(a+b)/2)左 阅读全文
posted @ 2017-08-13 15:23 GGBeng 阅读(414) 评论(0) 推荐(0)
摘要: 一、相关定义 树状数组 获取数组中连续n个数的和 修改数组中某点的值 时间复杂度:O(logn) 小结:树状数组的强项在于对数组进行维护查询(如,修改某点的值、求某个区间的和)。当然,数据规模不大的时候,对于修改某点的值是非常容易的,复杂度是O(1),但是对于求一个区间的和就要扫一遍了,复杂度是O( 阅读全文
posted @ 2017-08-13 15:22 GGBeng 阅读(306) 评论(0) 推荐(0)
摘要: 20 阅读全文
posted @ 2017-08-13 15:20 GGBeng 阅读(262) 评论(0) 推荐(0)
摘要: 点击 阅读全文
posted @ 2017-08-13 15:19 GGBeng 阅读(227) 评论(0) 推荐(0)
摘要: 1.欧拉函数是指:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。 2.通式:φ(x)=x*(1-1/p1)*(1-1/p2)*(1-1/p3)*(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。 φ(1)=1(唯一和1互 阅读全文
posted @ 2017-08-13 15:18 GGBeng 阅读(806) 评论(0) 推荐(1)
摘要: 特别的,当p为素数时,x无法被p整除,φ(p)=p-1,于是便有费马小定理Xp-1≡1(mod p) 在p是素数时,对任意正整数x都有Xp≡X(mod p) 于是对于a的逆元x,有ax≡1(mod m),对于a,m互素且m为素数时,有x=am-2,于是我们可以通过快速幂快速求出a的逆元。 另外,借助 阅读全文
posted @ 2017-08-13 15:16 GGBeng 阅读(207) 评论(0) 推荐(0)
摘要: 【实战应用】 POJ1845:http://www.cnblogs.com/shenben/p/6264322.html BZOJ2186:http://www.cnblogs.com/shenben/p/6264347.html 阅读全文
posted @ 2017-08-13 15:15 GGBeng 阅读(183) 评论(0) 推荐(0)
摘要: 一、相关介绍 快速幂 做到快速求幂 时间复杂度:O(logn) 问题引入 题目:求ab 朴素解法:将a连乘b次,那么对应的时间复杂度就是O(b),即O(n)。 快速幂法:关于此题的快速幂法会在下面的算法实现提及。 二、算法实现 下面以求ab的过程为例讲解快速幂的实现: b可以转换为二进制数,该二进制 阅读全文
posted @ 2017-08-13 15:14 GGBeng 阅读(321) 评论(0) 推荐(0)
摘要: 13 阅读全文
posted @ 2017-08-13 15:13 GGBeng 阅读(165) 评论(0) 推荐(0)
摘要: 一、相关介绍 知识要求 AC自动机 多模式串的字符匹配算法(KMP是单模式串的字符匹配算法) 单模式串问题&多模式串问题 单模就是给你一个模式串,问你这个模式串是否在主串中出现过,这个问题可以用kmp算法高效完成; 多模就是给你多个模式串,问你有多少个模式串在这个主串中出现过。 若我们暴力地用每一个 阅读全文
posted @ 2017-08-13 15:13 GGBeng 阅读(411) 评论(0) 推荐(0)
摘要: 12 阅读全文
posted @ 2017-08-13 15:12 GGBeng 阅读(192) 评论(0) 推荐(0)
摘要: 一、博客导航 阅读全文
posted @ 2017-08-13 15:11 GGBeng 阅读(251) 评论(0) 推荐(0)
摘要: 一、前人种树 博客:拓扑排序 博客:拓扑排序 阅读全文
posted @ 2017-08-13 15:06 GGBeng 阅读(264) 评论(0) 推荐(0)
摘要: 一、最小生成树 树:在无向图中,连通且不含圈的图。 生成树:给定无向图G = (V,E),连接G中所有点,且边集是E的子集的树(此处是G的生成树)。 最小生成树:权值最小的生成树。 构造MST的算法:Prim算法/Kruskal算法)。 克鲁斯卡尔算法需要对图的边进行访问,所以克鲁斯卡尔算法的时间复 阅读全文
posted @ 2017-08-13 15:05 GGBeng 阅读(332) 评论(0) 推荐(0)
摘要: 一、最短路径 最短路径:从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径。 求最短路径的四个算法如下: 二、算法概述 【Dijkstra算法】 单源最短路:从单个源点出发,到所有结点的最短路 作用:计算正权图上的单源最短路。 图类型:有向图、无向图。 限制:边权为正。 【Bel 阅读全文
posted @ 2017-08-13 15:01 GGBeng 阅读(684) 评论(0) 推荐(1)
摘要: 一、重拾关键 宽度优先搜索,也有称为广度优先搜索,简称BFS。类似于树的按层次遍历的过程。 初始状态:图G所有顶点均未被访问过,任选一点v。 遍历过程:假设从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使“先被访问的顶点的邻接点 阅读全文
posted @ 2017-08-13 14:55 GGBeng 阅读(907) 评论(0) 推荐(0)
摘要: 一、相关定义 深度优先遍历,也有称为深度优先搜索,简称DFS。其实,就像是一棵树的前序遍历。 初始条件:图G所有顶点均未被访问过,任选一点v。 思想:是从一个顶点V1开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先 阅读全文
posted @ 2017-08-13 14:52 GGBeng 阅读(1160) 评论(0) 推荐(1)
摘要: 5 阅读全文
posted @ 2017-08-13 14:48 GGBeng 阅读(361) 评论(0) 推荐(0)
摘要: 一、问题引入 原题:杭电hdu1232畅通工程 题意:首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判断它们是否连通,或者问你整幅图一共有几个连通分支,也就是被分成了几个互相独立的块。像畅通工程 阅读全文
posted @ 2017-08-13 14:47 GGBeng 阅读(38552) 评论(10) 推荐(42)
摘要: 3 阅读全文
posted @ 2017-08-13 14:44 GGBeng 阅读(428) 评论(0) 推荐(0)
摘要: 1 阅读全文
posted @ 2017-08-13 14:43 GGBeng 阅读(324) 评论(0) 推荐(0)
摘要: 2 阅读全文
posted @ 2017-08-13 14:43 GGBeng 阅读(291) 评论(0) 推荐(0)