代码改变世界

阅读排行榜

POJ 3625 Building Roads 最小生成树

2012-08-18 20:15 by javaspring, 279 阅读, 收藏,
摘要: 来源:http://poj.org/problem?id=3625题意:平面上有一些点,这些点的坐标已知。求连接起这些点最少的长度是多少。其中有一些点已经连接了起来。思路:其实还是最小生成树了。只不过这道题由于边太多,所以用kruskal超时,可以用prime轻松解决。下面简述一下prime算法的思想:prime算法是基于贪心的一种算法。首先我们可以选择一个点,并标记该点已经被访问过。然后从和该点相连的边中选择出一条长度最小的,该条边一定是最小生成树中的边。并且把这个点记录下来,并标记为访问过。然后从所有访问过的点中更新边,如果有能更新的边,则更新就可以了。该题代码:#include < 阅读全文

杭电 2844 多重背包(0-1背包二进制处理)

2012-02-22 14:23 by javaspring, 279 阅读, 收藏,
摘要: 是一道多重背包的题目,因为数据量比较大,所以需要把0-1背包的情况用二进制处理,变成log(n)的复杂度。题目:CoinsTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2339Accepted Submission(s): 956Problem DescriptionWhuacmers use coins.They have coins of value A1,A2,A3...An Silverland dollar. One day... 阅读全文

杭电 1856 并查集路径压缩+按秩合并

2011-10-26 21:45 by javaspring, 279 阅读, 收藏,
摘要: 这道题是下午看的,当时看了不会,后来看算法导论上有,有看了一些其他的资料,就做出来了。不过杭电数据坑爹啊,,,竟然有n=0的情况,让我wr了好几次。。。。题目:More is betterTime Limit: 5000/1000 MS (Java/Others)Memory Limit: 327680/102400 K (Java/Others)Total Submission(s): 4078Accepted Submission(s): 1511Problem DescriptionMr Wang wants some boys to help him with a proje... 阅读全文

编程珠玑第十一章----排序

2012-07-27 13:15 by javaspring, 278 阅读, 收藏,
摘要: 1、快速排序 原理:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序。void quickSort(int *a,int s,int t) //数组首地址a,数组起始位置s(初始值为0),结束位置t(初始值为n-1) { int i=s,j=t+1,temp,x=a[s]; do { do { i++; } while (a[i]<a[s]); //找比第一个元素小的元素 do { j--; } while (a[s]<a[j]); //找比... 阅读全文

字典树的简单应用 NYoj 290

2011-09-19 18:17 by javaspring, 278 阅读, 收藏,
摘要: 这是一道字典树的典型应用,算是一道简单题吧,我是刚学字典树,话说也是理解了一天才理解了这种数据结构,,学数据结构的孩子你伤不起啊。。。。。。题目:在美丽大兴安岭原始森林中存在数量繁多的物种,在勘察员带来的各种动物资料中有未统计数量的原始动物的名单。科学家想判断这片森林中哪种动物的数量最多,但是由于数据太过庞大,科学家终于忍受不了,想请聪明如你的ACMer来帮忙。输入第一行输入动物名字的数量N(1<= N <= 4000000),接下来的N行输入N个字符串表示动物的名字(字符串的长度不超过10,字符串全为小写字母,并且只有一组测试数据)。输出输出这些动物中最多的动物的名字与数量,并用 阅读全文
上一页 1 ··· 46 47 48 49 50 51 52 53 54 ··· 126 下一页