随笔分类 -  自我练习

摘要:答:有以下四种方法判定循环队列的空满(假设头为front尾为rear,循环队列的最大为Maxsize) 预留一位:可以空余出来一个存储单元,不储存任何数,则判空条件是front%Maxsize == rear%Maxsize 判满条件是(front+1)%Maxsize == rear增加一个全局变 阅读全文
posted @ 2017-10-16 13:03 pprp 阅读(1253) 评论(0) 推荐(0)
摘要:同余问题 基本定理: 若a,b,c,d是整数,m是正整数, a = b(mod m), c = d(mod m) 1. a+c = b+c(mod m) 2. ac = bc(mod m) 3. ax+cy = bx+dy(mod m) 同余式可以相加 4. ac = bd(mod m) 同余式可以 阅读全文
posted @ 2017-10-15 15:21 pprp 阅读(284) 评论(0) 推荐(0)
摘要:数据结构作业 之 循环队列的实现 主要思路: 设置标志法: 设置一个bool型的judge标记,初始化为false; 如果入队列成功,judge为true,如果出队列成功,judge设为false 判空条件是front%Maxsize == rear%Maxsize && judge == 0 判满 阅读全文
posted @ 2017-10-15 10:36 pprp 阅读(231) 评论(0) 推荐(0)
摘要:梅森素数 定义: if m是一个正整数 and 2^m 1是一个素数 then m是素数 if m是一个正整数 and m是一个素数 then M(m)=2^m 1被称为第m个梅森数 if p是一个素数 and M(p)是一个素数 then M(p)被称为梅森素数 Lucas Lehmer判定法:判 阅读全文
posted @ 2017-10-13 22:11 pprp 阅读(3175) 评论(0) 推荐(0)
摘要:梅森素数 定义: if m是一个正整数 and 2^m 1是一个素数 then m是素数 if m是一个正整数 and m是一个素数 then M(m)=2^m 1被称为第m个梅森数 if p是一个素数 and M(p)是一个素数 then M(p)被称为梅森素数 Lucas Lehmer判定法:判 阅读全文
posted @ 2017-10-13 21:41 pprp 阅读(503) 评论(0) 推荐(0)
摘要:组合素数 nefu119 题意:求解C(2n,n)恰好被p整除多少次 由组合数公式可以将其转化为: (2 n)!/(n! n!) 则将题目转化为求解分子关于q的幂,减去分子关于q的幂 用公式 n!的素因子分解中素数p的幂为[n/p]+[n/p^2]+[n/p^3]...0 (p^t include 阅读全文
posted @ 2017-10-13 20:52 pprp 阅读(267) 评论(0) 推荐(0)
摘要:算数基本定理 每个大于1的正整数都可以被唯一分解为素数的成绩,在乘积中的素因子按照非降序排列 a = p1^a1 p2^a2 ... pn^an; b = p1^b1 p2^b2 ... pn^bn; gcd(a,b) = p1^min(a1,b1) p2^min(a2,b2) ... pn ^ m 阅读全文
posted @ 2017-10-13 20:32 pprp 阅读(273) 评论(0) 推荐(0)
摘要:埃拉托色尼筛法 基本素数判别法: 正整数n是素数,当且仅当他不能被任何一个小于sqrt(n) 的素数整除 定理: 如果m是一个合数,那么n一定有一个不超过sqrt(n)的素因子 推论: 如果n是一个合数,那么n必有小于等于sqrt(n)的素因子 6N+1法 任何数都可以构造成6N+1,6N+2,6N 阅读全文
posted @ 2017-10-13 09:49 pprp 阅读(537) 评论(0) 推荐(0)
摘要:哥德巴赫猜想 nefu2 & 分拆素数和 hdu2098 //哥德巴赫猜想 include include include using namespace std; bool isprime[10000000]; int main() { memset(isprime,1,sizeof(isprim 阅读全文
posted @ 2017-10-13 09:07 pprp 阅读(299) 评论(0) 推荐(0)
摘要:素数个数的位数 nefu 117 普及一个公式: 位数公式:要求一个数x的位数,用公式:lg(x)+1 素数分布:n/ln(n) 所以直接求解n/ln(n)的位数就可以了 代码如下: include include using namespace std; const double e = 2.71 阅读全文
posted @ 2017-10-13 08:50 pprp 阅读(459) 评论(0) 推荐(0)
摘要:字典树应用 poj 1002 Description Businesses like to have memorable telephone numbers. One way to make a telephone number memorable is to have it spell a mem 阅读全文
posted @ 2017-10-12 22:01 pprp 阅读(209) 评论(0) 推荐(0)
摘要:字典树学习 基本操作 节点声明 查找 完整代码如下: / @theme:字典树学习笔记 小写字母26 @writer:pprp @begin:18:30 @end: @declare: / include include include include using namespace std; co 阅读全文
posted @ 2017-10-12 20:09 pprp 阅读(227) 评论(0) 推荐(0)
摘要:codeforce 7C C. Line time limit per test1 second memory limit per test256 megabytes A line on the plane is described by an equation Ax + By + C = 0. Y 阅读全文
posted @ 2017-10-12 15:49 pprp 阅读(354) 评论(0) 推荐(0)
摘要:青蛙的约会 writer:pprp Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 119716 Accepted: 25238 Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发 阅读全文
posted @ 2017-10-12 15:22 pprp 阅读(222) 评论(0) 推荐(0)
摘要:题目描述 迷宫是一个二维矩阵,其中1为墙,0为路,3为入口,4为出口.要求从入口开始,从出口结束,按照 下,左,上,右 的顺序来搜索路径. 输入 迷宫宽度w 迷宫高度h 迷宫第一行 迷宫第二行 ... 迷宫第h 行 输出 入口横坐标1 入口纵坐标1 横坐标2 纵坐标2 横坐标3 纵坐标3 横坐标4 阅读全文
posted @ 2017-10-11 22:09 pprp 阅读(619) 评论(0) 推荐(0)
摘要:迷宫最短路问题 题意:从迷宫左上角到左下角,求最短路 输入:迷宫的横纵坐标和迷宫元素 输出:迷宫最短路所经过的坐标 代码如下: include include include include include using namespace std; int dx[] = {1,1,0, 1, 1, 阅读全文
posted @ 2017-10-11 21:56 pprp 阅读(711) 评论(0) 推荐(0)
摘要:回溯算法理解 深度优先搜索 基本思想:将解的空间,转化为了树或者图的表示,进行深度优先搜索,并加以剪枝,在遍历过程中找到所有最优解或者可行解 回溯算法的求解过程实质上是一个先序遍历一棵"状态树"的过程,只是这棵树不是遍历前预先建立的,而是隐含在遍历过程中 当遍历某分支的时候,若发现条件不满足,则退回 阅读全文
posted @ 2017-10-08 17:51 pprp 阅读(516) 评论(0) 推荐(0)
摘要:棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 51262 Accepted: 24785 Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋 阅读全文
posted @ 2017-10-08 11:45 pprp 阅读(246) 评论(0) 推荐(0)
摘要:2017-10-07 21:33:16 writer;pprp 经典的回溯算法 第二种 回溯算法的构架 非递归: 递归: 阅读全文
posted @ 2017-10-07 21:36 pprp 阅读(235) 评论(0) 推荐(0)
摘要:2017-10-07 17:54:55 writer:pprp 阅读全文
posted @ 2017-10-07 17:56 pprp 阅读(298) 评论(0) 推荐(0)