摘要: 莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d是n的所有因子 μ(x)是莫比乌斯函数,它是这样计算的 μ(1) = 1 x = p1 * p2 * 阅读全文
posted @ 2016-02-23 17:46 YujunLin 阅读(2536) 评论(0) 推荐(1) 编辑
摘要: 终于讲到反演定理了,反演定理这种东西记一下公式就好了,反正我是证明不出来的~(~o ̄▽ ̄)~o 首先,著名的反演公式 我先简单的写一下o( ̄ヘ ̄*o) 比如下面这个公式 f(n) = g(1) + g(2) + g(3) + ... + g(n) 如果你知道g(x),蓝后你就可以知道f(n)了 如果 阅读全文
posted @ 2016-02-23 17:22 YujunLin 阅读(3020) 评论(3) 推荐(1) 编辑
摘要: (前排出售零食瓜子) 前言: 母函数是个很难的东西,难在数学 而ACM中所用的母函数只是母函数的基础 应该说除了不好理解外,其他都是非常简单的 母函数即生成函数,是组合数学中尤其是计数方面的一个重要理论和工具。 但是ACM中的母函数木有像数学那么深究,应用的都是母函数的一些基本 (就好比方程的配方, 阅读全文
posted @ 2016-02-23 16:55 YujunLin 阅读(3516) 评论(1) 推荐(1) 编辑
摘要: (挖坑。。。) ////////////////////////////////////////////////// 暂时弃坑 开学了,有空再写。。。。 阅读全文
posted @ 2016-02-23 16:53 YujunLin 阅读(1163) 评论(1) 推荐(0) 编辑
摘要: 这章没有什么算法可言,单纯的你懂了原理后会不会运用(反正我基本没怎么用过 ̄ 3 ̄) 有366人,那么至少有两人同一天出生(好孩子就不要在意闰年啦( ̄▽ ̄")) 有13人,那么至少有两人同一月出生 这就是抽屉原理 抽屉原理:把n+1个物品放到n个抽屉里,那么至少有两个物品在同一个抽屉里 鸽巢原理:把n 阅读全文
posted @ 2016-02-23 16:50 YujunLin 阅读(2903) 评论(1) 推荐(3) 编辑
摘要: 容斥原理我初中就听老师说过了,不知道你们有没有听过(/≧▽≦)/ 百度百科说: 在计数时,必须注意没有重复,没有遗漏。 为了使重叠部分不被重复计算,人们研究出一种新的计数方法。 这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去 阅读全文
posted @ 2016-02-23 16:34 YujunLin 阅读(4140) 评论(3) 推荐(5) 编辑
摘要: 在我们做题中,搜索也好,动态规划也好,我们往往有时候需要用一个数字表示一种状态 比如有8个灯泡排成一排,如果你用0和1表示灯泡的发光情况 那么一排灯泡就可以转换为一个二进制数字了 比如 01100110 = 102 11110000 = 240 10101010 = 170 通过这些十进制数,只要把 阅读全文
posted @ 2016-02-21 22:29 YujunLin 阅读(1767) 评论(1) 推荐(2) 编辑
摘要: 눈_눈感觉数论写不完 先记下来哪些要写 康托展开(已解决) 容斥原理(已解决) 抽屉原理(已解决) 置换群与Polya定理(已解决) 母函数(已解决) 二项式反演(已解决) 莫比乌斯反演(已解决)hdu 5072 积性函数 狄利克雷卷积 http://acm.hdu.edu.cn/showprobl 阅读全文
posted @ 2016-02-19 19:06 YujunLin 阅读(1015) 评论(0) 推荐(1) 编辑
摘要: c/c++语言中,关于指数,对数的函数我也就知道那么多 exp(),pow(),sqrt(),log(),log10(), exp(x)就是计算e的x次方,sqrt(x)就是对x开根号 pow()函数可是十分强大的( ̄ε ̄) pow(a, b)可以算a的b次方,但是b不限于整数,小数也可以 所以po 阅读全文
posted @ 2016-02-19 18:51 YujunLin 阅读(2314) 评论(3) 推荐(2) 编辑
摘要: 记得前几章的组合数吧 我们学了O(n^2)的做法,加上逆元,我们又会了O(n)的做法 现在来了新问题,如果n和m很大呢, 比如求C(n, m) % p , n<=1e18,m<=1e18,p<=1e5 看到没有,n和m这么大,但是p却很小,我们要利用这个p (数论就是这么无聊的东西,我要是让n=1e 阅读全文
posted @ 2016-02-19 01:36 YujunLin 阅读(5739) 评论(3) 推荐(4) 编辑
摘要: 中国剩余定理,又名孙子定理o(*≧▽≦)ツ 能求解什么问题呢? 问题: 一堆物品 3个3个分剩2个 5个5个分剩3个 7个7个分剩2个 问这个物品有多少个 解这题,我们需要构造一个答案 我们需要构造这个答案 5*7*inv(5*7, 3) % 3 = 1 3*7*inv(3*7, 5) % 5 = 阅读全文
posted @ 2016-02-18 21:58 YujunLin 阅读(6494) 评论(4) 推荐(4) 编辑
摘要: 组合数并不陌生(´・ω・`) 我们都学过组合数 会求组合数吗 一般我们用杨辉三角性质 杨辉三角上的每一个数字都等于它的左上方和右上方的和(除了边界) 第n行,第m个就是,就是C(n, m) (从0开始) 电脑上我们就开一个数组保存,像这样 用递推求 1 #include<cstdio> 2 cons 阅读全文
posted @ 2016-02-18 20:10 YujunLin 阅读(4884) 评论(2) 推荐(3) 编辑
摘要: 欧拉函数,用φ(n)表示 欧拉函数是求小于等于n的数中与n互质的数的数目 辣么,怎么求哩?~(~o ̄▽ ̄)~o 可以先在1到n-1中找到与n不互质的数,然后把他们减掉 比如φ(12) 把12质因数分解,12=2*2*3,其实就是得到了2和3两个质因数 然后把2的倍数和3的倍数都删掉 2的倍数:2,4 阅读全文
posted @ 2016-02-18 20:09 YujunLin 阅读(6290) 评论(15) 推荐(13) 编辑
摘要: 数论倒数,又称逆元(因为我说习惯逆元了,下面我都说逆元) 数论中的倒数是有特别的意义滴 你以为a的倒数在数论中还是1/a吗 (・∀・)哼哼~天真 先来引入求余概念 (a + b) % p = (a%p + b%p) %p (对) (a - b) % p = (a%p - b%p) %p (对) (a 阅读全文
posted @ 2016-02-18 20:00 YujunLin 阅读(17640) 评论(25) 推荐(35) 编辑
摘要: (本篇无证明,想要证明的去找度娘)o(*≧▽≦)ツ ----------数论四大定理--------- 数论四大定理: 1.威尔逊定理 2.欧拉定理 3.孙子定理(中国剩余定理) 4.费马小定理 (提示:以后出现(mod p)就表示这个公式是在求余p的条件下成立) 1.威尔逊定理:(PS:威尔逊是个 阅读全文
posted @ 2016-02-18 19:20 YujunLin 阅读(10493) 评论(3) 推荐(0) 编辑
摘要: 为什么老是碰上 扩展欧几里德算法 ( •̀∀•́ )最讨厌数论了 看来是时候学一学了 度娘百科说: 首先, ax+by = gcd(a, b) 这个公式肯定有解 (( •̀∀•́ )她说根据数论中的相关定理可以证明,反正我信了) 所以 ax+by = gcd(a, b) * k 也肯定有解 (废话, 阅读全文
posted @ 2016-02-18 19:19 YujunLin 阅读(3794) 评论(6) 推荐(2) 编辑
摘要: gcd(a, b),就是求a和b的最大公约数 lcm(a, b),就是求a和b的最小公倍数 然后有个公式 a*b = gcd * lcm ( gcd就是gcd(a, b), ( •̀∀•́ ) 简写你懂吗) 解释(不想看就跳过){ 首先,求一个gcd,然后。。。 a / gcd 和 b / gcd 阅读全文
posted @ 2016-02-18 19:18 YujunLin 阅读(8844) 评论(1) 推荐(4) 编辑
摘要: a的b次方怎么求 pow(a, b)是数学头文件math.h里面有的函数 可是它返回值是double类型,数据有精度误差 那就自己写for循环咯 LL pow(LL a, LL b){//a的b次方 LL ret = 1; for(LL i = 1; i <= b; i ++){ ret *= a; 阅读全文
posted @ 2016-02-18 18:43 YujunLin 阅读(3412) 评论(10) 推荐(2) 编辑
摘要: 前言:好多学ACM的人都在问我数论的知识(其实我本人分不清数学和数论有什么区别,反正以后有关数学的知识我都扔进数论分类里面好了) 于是我就准备写一个长篇集,把我知道的数论知识和ACM模板都发上来(而且一旦模板有更新,我就直接在博客上改了,所以记得常来看看(。・ω・)) 废话说完了,直接进入正题ヾ(= 阅读全文
posted @ 2016-02-18 17:25 YujunLin 阅读(7003) 评论(8) 推荐(11) 编辑
摘要: A: 孙壕请一盘青岛大虾呗 A题比较容易,因为范围只有10,所以暴力搜索一下就好了,简单递归题 1 #include<cstdio> 2 #include<cstring> 3 int dfs(int n, int m, int num){ 4 if(n == 0 && m == 0 && num 阅读全文
posted @ 2015-12-20 23:46 YujunLin 阅读(1576) 评论(2) 推荐(0) 编辑