随笔分类 - 知识点
摘要:邻接表表示 用vector实现 writer:pprp 代码如下: include using namespace std; const int maxn = 1000; struct node { int to; int w; node(int tt, int ww):to(tt),w(ww){}
阅读全文
摘要:前向星的建立和遍历 writer:pprp 注意:从0开始不是从1开始 链式前向星算法可以对应点特别多的情况,可以存储重复边,但不能直接判断图中任意两点是有边。 代码如下: //writer:pprp //前向星表示 //注意:点的编号也是从0开始的,不能从1开始 include include i
阅读全文
摘要:writer:pprp date:20171103 题目描述 先将根结点放入一对圆括号中,然后把它的子树按由左而右的顺序放入括号中,而对子树也采用同样方法处理:同层子树与它的根结点用圆括号括起来,同层子树之间用逗号隔开,最后用闭括号括起来。 例如下图可写成如下形式 (a(b,c,d,e)) 现在给定
阅读全文
摘要:writer:pprp date: 20171103 题目描述 给定一棵二叉树的中序和层序输出,判断是否为平衡二叉树的。如果是,输出YES如果不是输出NO。 输入 树结点个数 中序遍历序列 层序遍历序列 输出 是否是平衡二叉树的判断结论 样例输入 样例1: 3 1 2 3 2 1 3 样例2: 4
阅读全文
摘要:Huffman Tree 题目描述 对输入的英文大写字母进行统计概率 然后构建哈夫曼树,输出是按照概率降序排序输出Huffman编码。 输入 大写字母个数 n 第一个字母 第二个字母 第三个字母 ... 第n个字母。 输出 字母1 出现次数 Huffman编码 字母2 出现次数 Huffman编码
阅读全文
摘要:数据结构实习 Problem H 迷宫的最短路径 题目描述 设计一个算法找一条从迷宫入口到出口的最短路径。 输入 迷宫的行和列m n 迷宫的布局 输出 最短路径 样例输入 6 8 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 0
阅读全文
摘要:题意如下: 已知二叉树采用二叉链表存储,其结点结构定义如下: 编写计算二叉树中节点data值等于给定x值的结点个数算法,p指向二叉树的根节点,BinaryTree为二叉树类。函数原型为: int BinaryTree::CountNode(BinTreeNode p,T x); 分析: 这个题我本来
阅读全文
摘要:答:有以下四种方法判定循环队列的空满(假设头为front尾为rear,循环队列的最大为Maxsize) 预留一位:可以空余出来一个存储单元,不储存任何数,则判空条件是front%Maxsize == rear%Maxsize 判满条件是(front+1)%Maxsize == rear增加一个全局变
阅读全文
摘要:同余问题 基本定理: 若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) 同余式可以
阅读全文
摘要:数据结构作业 之 循环队列的实现 主要思路: 设置标志法: 设置一个bool型的judge标记,初始化为false; 如果入队列成功,judge为true,如果出队列成功,judge设为false 判空条件是front%Maxsize == rear%Maxsize && judge == 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判定法:判
阅读全文
摘要:梅森素数 定义: 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判定法:判
阅读全文
摘要:组合素数 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
阅读全文
摘要:算数基本定理 每个大于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
阅读全文
摘要:埃拉托色尼筛法 基本素数判别法: 正整数n是素数,当且仅当他不能被任何一个小于sqrt(n) 的素数整除 定理: 如果m是一个合数,那么n一定有一个不超过sqrt(n)的素因子 推论: 如果n是一个合数,那么n必有小于等于sqrt(n)的素因子 6N+1法 任何数都可以构造成6N+1,6N+2,6N
阅读全文
摘要:哥德巴赫猜想 nefu2 & 分拆素数和 hdu2098 //哥德巴赫猜想 include include include using namespace std; bool isprime[10000000]; int main() { memset(isprime,1,sizeof(isprim
阅读全文
摘要:素数个数的位数 nefu 117 普及一个公式: 位数公式:要求一个数x的位数,用公式:lg(x)+1 素数分布:n/ln(n) 所以直接求解n/ln(n)的位数就可以了 代码如下: include include using namespace std; const double e = 2.71
阅读全文
摘要:字典树应用 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
阅读全文
摘要:字典树学习 基本操作 节点声明 查找 完整代码如下: / @theme:字典树学习笔记 小写字母26 @writer:pprp @begin:18:30 @end: @declare: / include include include include using namespace std; co
阅读全文
摘要: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
阅读全文

浙公网安备 33010602011771号