hdu1619,UVa116
《算法竞赛入门经典》 不错的例题 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#include &l
《算法竞赛入门经典》 不错的例题 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#include &l
题目大意: 现有不超过三十个的立方体。给定其边长:abc。已知每种立方体的个数不限。现在欲堆放立方体,两个立方体能够堆叠的条件是上面的立方体的底面长和宽严格小于放在其下面的立方体。问由这些立方体最高能够堆叠多高。 分析: 因为立方体的个数不限,所以输入的时候只保存使x <
参考:《算法竞赛入门经典》(白书) 题目大意: 给n(n<=1000)个点的坐标(按x递增,且各个点的坐标不同,都为正整数),设计一条线路,从最左边的点出发,走到最右边的点然后返回,要求除了最左点和最右点之外每个点恰好经过一次,且路径总厂最短。两点的长度为他们的欧几里得
参考:http://www.cppblog.com/cuijiaxing/archive/2010/08/18/123883.aspx 题目大意: 有一些汽车在左岸,你要用一条小破船把它们拉到右岸去。每个测试点包含多个测试数据。第一行的整数C表示测试数据的数目。接下来每个测试数
白皮书训练 题目: 有n种硬币,面值分别为V1,V2…Vn,每种都有无限多。给定非负整数S,可以选用多少个硬币,使得面值之和恰好为S?输出硬币数目的最小值和最大值。 (1<=n<=100, 0<=S<=10000, 1<=Vi<=S) 方法
动态规划 题目: 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度)。例如(1,5)可以嵌套在(6,2)内,但不能嵌套在(3,4)中。你的任务是
白皮书训练 题目大意: 输入一个长度为n(n<=10^6)的序列A,找到一个尽量长的连续子序列AL~AR,使得该序列中没有相同的元素。 分析: 用set的特殊性质来存储序列,遍历一遍A数组,如果元素没出现在set中,则R++,并加入set,否则记录此时的序列长度,然后不
白皮书训练: UVa11054,poj2940 等价转换题目大意: 一条街上有很多葡萄酒店,正数代表要运走,负数代表要运进。总和是0;然后就是怎么全部运成0,每一个单位的酒运到隔壁要一个单位钱(劳动力),问钱最少多少。 分析: 考虑最左边的村庄,因为最后是平衡的,所以如果需要
题目大意: 给4组数据,每组数据n个数,求从每组抽一个数和为0的组数 分析: 先把a+b存到数组C,c+d存到数组D。 枚举a+b的值,在c+d的值里二分查找-(a+b) 1234567891011121314151617181920212223242526272829303
输入n个整数和一个正整数k(1<=k<=n),输出这些整数从小到大排序后的第k个。注意n<=10^7 分析: 用快速排序的特点,会选出一个中值然后把小于他的放在左边,大于他的放在右边,最后比较k和中值序号来选择接下来是去左边找还是右边 123456789101