- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 莫比乌斯函数与莫比乌斯反演
以下笔记整理自:《算法设计编程实验》吴永辉 1.结论 1.1 莫比乌斯函数:莫比乌斯函数可以看做一个辅助函数,它在莫比乌斯反演公式中用到。 1.2 莫比乌斯反演:莫比乌斯反演公式是 根据和函数来求算数函数的一个公式。 1.3 算数函数:所有在正整数上运算的函数称为算数函数。 1.4 和函数:设 f 是算数函数,f 的和函数为。其中d为n的约数,所以 f 的和函数F(n)就是n的所有约数的...
2019-01-27 14:20:41 804
原创 POJ1284 Primitive Roots (积性函数)
原题链接:POJ1284 题意简述:定义一个概念原根(primitive root),给出p,求出p为模的原根数量。 解题思路: 原根是数论中的一个概念,有关定义和证明请看原根的性质以及如何求原根 代码实例: #include<cstdio> const int maxn = 1e5+10; int v[maxn],phi[maxn],primes[maxn]; int cn...
2019-01-27 13:32:51 516
原创 POJ2048 Longge's problem(积性函数)
题目链接:POJ2048 题意简述:给出一个整数N,求出 i 从1到 N 的所有 GCD(i,n) 的和。 解题思路: 将GCD(i,N)分为两个部分,即GCD(i,N)= 1与!=1。 GCD(i,N) = 1:从1到N所有与N互素的数有 phi(N) 个,而如果数 i 与 N互素,那么GCD(i,N) = 1,故该部分的和就求出来了,就是phi(N)。 GCD(i,N) != 1:假...
2019-01-27 12:58:54 439
原创 POJ 4001 xiangqi(模拟)
原题链接: 题意简述:黑方只有一个棋子,将。红方有四种棋子,现在红方已走一步,轮到黑方走了,请问黑方是否必败。 解题思路:黑方最多有四种走法,分别判断这四个位置上黑方是否会输,如果全都会输,则必败。 错误报告:这题需要注意不能用%c或者getchar()读入,因为数据似乎不标准,这样读会出错,保险的做法是将字符当作字符串读入。另外只需要考虑全面一点,就可以了,要仔细一点。 代码示例: ...
2019-01-24 13:57:17 505
原创 POJ1014 Dividing(幂级数型生成函数)
原题链接:POJ1014 题意简述:给出六种价值分别为1,2,3,4,5,6的石头的个数,求是否可以公平的分成两份价值相同的石头。其中石头不可分割。 解题思路:就是说求是否可以分成两份,价值相同,可以使用幂级数型生成函数来求多重集的组合计数。详情步骤见吴永辉老师的《算法设计编程实验》。记录这题主要是为了熟悉幂级数型求多重集组合计数的代码写法。 代码实例:刚接触幂级数这一块,所以暂时没能力分析...
2019-01-24 13:46:36 792
原创 HDOJ5015 233 Matrix(矩阵乘法加速递推)
原题链接:HDOJ5015 题意简述:给定矩阵每个元素计算公式,求下标为(m,m)的元素的值。 解题思路:刚开始想着递推求出整个矩阵,后来我哭了。m 可达1e9,要化简到 lg 级别才能不超时,这时我隐约想到用转移矩阵加快速幂做了,根据《算法竞赛进阶指南》P151页所述,如果一类问题具有如下特点: 可以抽象出一个长度为n的一维向量,该向量在每个单位时间发生一次变化 变化的形式是一个线性递推...
2019-01-16 15:12:27 650
原创 子字符串查找之Rabin-Karp算法
1.背景 1.1 算法简介:M.O.Rabin和R.A.Karp发明了一种基于散列的字符串查找算法。我们只需要计算模式串的散列函数,然后利用相同的散列函数计算文本中所有可能的M个字符的子字符串散列值并寻找匹配。如果找到了一个散列值和模式字符串相同的子字符串,再继续验证是否相同。这是一个有趣的算法,重点不在于其只用线性时间解决问题,而在于其对散列技术的使用,这是一个具有启发性的算法! 1.2 结...
2019-01-01 19:13:22 998
哈夫曼编码译码器-数据结构实训
2019-01-13
算法导论 PDF
2018-08-21
教职工信息管理系统-结课作业C++
2018-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人