随笔分类 -  ACM-贪心

摘要:此题关键要理解输出的定义For each test case, you should output a line contains an integer, which is the length of the longest road to be built such that all the villages are connected, and this value is minimum.输出是最小生成树中最长边的长度对prim算法稍作变化即可ACSource CodeProblem: 2485User: yangliuACMerMemory: 1232KTime: 750MSLangua 阅读全文
posted @ 2012-02-09 23:27 yangleo 阅读(224) 评论(0) 推荐(0)
摘要:题意:给定字符串,求哈夫曼编码长和它与等长编码的比值,比较基础思路:这题考查哈弗曼编码,但其实没必要建树得出编码,只需要统计哈弗曼编码后的总码长即可参考了网友的题解,用到了优先权队列维持一个从小到大的序列第38行其实就是把越小的频数反复多加几次,越大的频率少加几次,体现了前缀码的设计思想Source CodeProblem: 1521User: yangliuACMerMemory: 232KTime: 0MSLanguage: C++Result: Accepted//这题考查哈弗曼编码,但其实没必要建树得出编码,只需要统计哈弗曼编码后的总码长即可 #include <iostream 阅读全文
posted @ 2011-12-29 02:28 yangleo 阅读(842) 评论(0) 推荐(0)
摘要:这么多天第一次1AC,虽然题目不难,但是心里还是挺高兴算法思路:先根据纯色颜料中的最大者求出至少需要的颜料盒数,然后用剩余的颜料来配gray,配的时候要1ml 1ml的配gray颜料,通过不断重新从大到小排序,每次从前三种颜料去1ml配出1mlgray颜料,配之前判断下第3种颜料是否还有剩余,没有就加1个颜料盒,以此类推,到gray颜料配足够为止。要注意判断一定要紧跟排序之后,防止减完第三种颜料为0误判,因为此时第4种颜料可能还剩余1ml。测试用例3就是这种情况Source CodeProblem: 2709User: yangliuACMerMemory: 268KTime: 0MSLang 阅读全文
posted @ 2011-12-26 00:02 yangleo 阅读(241) 评论(0) 推荐(0)
摘要:本题很简单,但是还是WA了几次,主要原因是1、变量初始化的位置要非常小心,何时需要在下一次循环重复记录何时初始化,由于这个原因WA太可惜了2、输出保留三位小数的格式控制一定要注意主要算法思想如下先求各个设备最小带宽中的最小值和最大带宽中的最小值然后遍历最小带宽到最大带宽的区间,求最大比例,贪心搜索最优方案加速方案设置标志数组flag,只有输入中间出现过的并且位于上下界区间中带宽值才会考虑,节省搜索时间,空间换时间另外总结下查看数据类型表示范围的方法,以int为例1, 要看int 占用多少字节: sizeof(int)2, 要看int 占用多少bits: sizeof(int) * 83, 要看 阅读全文
posted @ 2011-12-24 11:32 yangleo 阅读(180) 评论(0) 推荐(0)
摘要:题意描述: john现有h个小时的空闲时间,他打算去钓鱼。john钓鱼的地方共有n个湖,所有的湖沿着一条单向路顺序排列(john每在一个湖钓完鱼后,他只能走到下一个湖继续钓), john必须从1号湖开始钓起,但是他可以在任何一个湖结束他此次钓鱼的行程。john在每个湖中每5分钟钓的鱼数(此题中以5分钟作为单位时间),随时间的增长而线性递减。而每个湖中头5分钟可以钓到的鱼数以及每个湖中相邻5分钟钓鱼数的减少量,input中均会给出。并且John从任意一个湖走到它下一个湖的时间input中也都给出。问题: 求一种方案,使得john在有限的h小时中可以钓到尽可能多的鱼。 output中需包... 阅读全文
posted @ 2010-12-14 18:55 yangleo 阅读(869) 评论(0) 推荐(0)