Dijkstra算法的标记和结构与prim算法的用法十分相似。它们两者都会从余下顶点的优先队列中选择下一个顶点来构造一颗扩展树。但千万不要把它们混淆了。它们解决的是不同的问题,因此,所操作的优先级也是以不同的方式计算的:Dijkstra算法比较路径的长度,因此必须把边的权重相加,而prim算法则直接...
分类:
其他好文 时间:
2014-07-29 12:31:36
阅读次数:
217
问题描述: 数字根是指对一个整数,把它的各位数字相加,若其和为一位数,则此和即为其根,若不是一位数字,则把它的各位数字继续相加,直到其和为一个正整数为止。例如对于正整数24,因为2+4=6,和为1位数,所以6即为其根。对于39,因为3+9=12,和不为个位数,继续相加,1+2=3,3为个位数,则为数...
分类:
其他好文 时间:
2014-07-29 10:59:36
阅读次数:
228
求n个图矩形放下来,有的重合有些重合一部分有些没重合,求最后总的不规则图型的轮廓长度。我的做法是对x进行一遍扫描线,再对y做一遍同样的扫描线,相加即可。因为最后的轮廓必定是由不重合的线段长度组成的,这样理论上是对的要注意处理高度相同的线段,把底边优先处理(在代码里就是f标记为1的线段),因为若是一个...
分类:
其他好文 时间:
2014-07-28 15:23:44
阅读次数:
220
/*目的:测试变量的运算方式结果:byte a, b, c; a = b+c; 或者 a = b+10 形如这种形式的算式, 等式的右边的运算结果默认的都是int型的!因为等式右边有变量, 编译器无法确定变量的内容 ,因为它是变量!所以相加之后得到的i...
分类:
编程语言 时间:
2014-07-27 23:25:19
阅读次数:
216
都是自己写的,如果代码有不好的地方,望请指出,哥只是一个小菜。这里将收集我自己觉得需要花点脑经的题目。题目会不断的累加,以便自己不断的积累编程经验和编程的一些技巧和思想。1.实现一个函数,传递一个整形参数,如果这个整数可以分解成连续的自然数相加,则把所有的可能输出,否则,输出无法分解。例如:输入:1...
分类:
其他好文 时间:
2014-07-26 17:07:52
阅读次数:
274
元表概念:引言:Lua中的每个值都有一套预定义的操作集合,如数字相加等。但无法将两个table相加,此时可通过元表修改一个值的行为,使其在面对一个非预定义的操作时执行一个指定操作。访问机制:一般的元方法都只针对Lua的核心,也就是一个虚拟机。它会检测一个操作中的值是否有元表,这些元表是否定义了关于次...
分类:
其他好文 时间:
2014-07-26 14:48:31
阅读次数:
176
POJ1722问题重述:给定一个数组a[1,2,..,n] 。定义数组第i位上的减操作:把ai和ai+1换成ai - ai+1。输入一个n位数组以及目标整数t,求一个n-1次操作序列,使得最后剩下的数等于t。分析:显然最后剩下的整数是在初始数组中各个元素前添加正负号后相加得到的结果,其中a1的符号必...
分类:
其他好文 时间:
2014-07-26 00:34:36
阅读次数:
422
前言元表对应的英文是metatable,元方法是metamethod。我们都知道,在C++中,两个类是无法直接相加的,但是,如果你重载了“+”符号,就可以进行类的加法运算。在Lua中也有这个道理,两个table类型的变量,你是无法直接进行“+”操作的,如果你定义了一个指定的函数,就可以进行了。那这篇...
分类:
其他好文 时间:
2014-07-24 12:22:05
阅读次数:
320
题目:10954 - Add All
题目大意:求n个数的和,但是有点不一样的是题目要求计算最少花费。每次两个数相加,得到的那个数就是每次计算的cost。
解题思路:之前没有想到用multiset,自己写好麻烦。要求cost 最小的话,说明每次都将这些数里面最小的两个做相加,这样每次花费都是最小的。用multiset,就可以将每次计算的结果插入这些已经有序的数据中相应的位置,使...
分类:
其他好文 时间:
2014-07-23 22:35:17
阅读次数:
234
1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 string A , B; 9 char a[1010];10 char b[1010];11 char result[101...
分类:
其他好文 时间:
2014-07-22 22:32:32
阅读次数:
242