摘要: 链接:poj 3126题意:给定两个素数四位m,n(不含前导0),求从m转化到n至少需要几次转化规则:每次转化y与x只有一位数字不同,且y为素数若能从m转化为n,输出转化的最小次数,否则输出Impossible分析:因为要用到四位数的素数,首先用筛选法求出素数.然后分别只变换个位,十位,百位,千位四... 阅读全文
posted @ 2014-07-27 20:07 happy_lcj 阅读(595) 评论(0) 推荐(2) 编辑
摘要: 定义:又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。核心思想:是空间换时间.利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。三个基本性质:1.根结点不包含字符,除根结点外每一个结点都只包含一个字符。2.从... 阅读全文
posted @ 2014-08-04 16:24 happy_lcj 阅读(2260) 评论(2) 推荐(3) 编辑
摘要: BFS的思想:从一个图的某一个顶点V0出发,首先访问和V0相邻的且未被访问过的顶点V1、V2、……Vn,然后依次访问与V1、V2……Vn相邻且未被访问的顶点。如此继续,找到所要找的顶点或者遍历完整个图。由此可以看出,用BFS进行搜索所搜索的顶点都是按深度进行扩展的,先找到到V0距离为1的所有顶点,... 阅读全文
posted @ 2014-07-30 17:01 happy_lcj 阅读(1751) 评论(0) 推荐(1) 编辑
摘要: 一、 将中缀表达式转换成后缀表达式算法:1、从左至右扫描 中缀表达式。2、若读取的是操作数(数字),则判断该操作数的类型,并将该操作数存入操作数堆栈3、若读取的是运算符(1) 该运算符为左括号"(",则直接存入运算符堆栈。(2) 该运算符为右括号")",则输出运算符堆栈中的运算符到操作数堆栈,直到遇... 阅读全文
posted @ 2014-07-30 08:16 happy_lcj 阅读(972) 评论(3) 推荐(1) 编辑
摘要: 求a^bmodc算法1.首先直接地来设计这个算法:int ans=1, i; for(i=1;i0) { if(b % 2 == 1) ans = (ans * a) % c; b = b/2; a = (a * a) % c; ... 阅读全文
posted @ 2014-07-29 15:57 happy_lcj 阅读(1034) 评论(0) 推荐(1) 编辑
摘要: 欧拉函数是求小于x并且和x互质的数的个数 通式:φ(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互质的数就是1本身)【注意:每种质因数只一个。比如12=2*2*3】定理:... 阅读全文
posted @ 2014-07-29 08:56 happy_lcj 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 树是一类重要的非线性数据结构,是以分支关系定义的层次结构定义:树(tree)是n(n>=0)个结点的有限集T,其中: n=0时为空树 n>0时,有且仅有一个特定的结点,称为树的根(root) 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,……Tm, 其中每一个集... 阅读全文
posted @ 2014-07-28 18:07 happy_lcj 阅读(919) 评论(0) 推荐(1) 编辑
摘要: 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。递归代码:__int64 gcd(__int64 a,__int64 b) { retur... 阅读全文
posted @ 2014-07-28 17:03 happy_lcj 阅读(482) 评论(0) 推荐(1) 编辑
摘要: 定义:在一些应用问题中,我们需要划分n个不同的元素成若干组,每一组的元素构成一个集合。这种问题的一个解决办法是,在开始时,让每个元素自成一个单元素集合,然后按一定顺序将属于同一组的元素所在的集合合并。其间要反复用到查找一个元素在哪一个集合的运算。适合于描述这类问题的抽象数据类型称为并查集。并查集支持... 阅读全文
posted @ 2014-07-25 18:09 happy_lcj 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 最小生成树的性质MST性质:设G=(V,E)是连通带权图,U是V的真子集。如果(u,v)∈E,且u∈U,v∈V-U,且在所有这样的边中,(u,v)的权c[u][v]最小,那么一定存在G的一棵最小生成树,(u,v)为其中一条边。构造最小生成树,要解决以下两个问题:(1).尽可能选取权值小的边,但不能构... 阅读全文
posted @ 2014-07-25 17:32 happy_lcj 阅读(590) 评论(0) 推荐(3) 编辑