![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
贪心算法
贪心的思想就是将一个线段分成几份走完,局部最优求整体最优
漆黑的莫莫
这个作者很懒,什么都没留下…
展开
-
盾神与积木游戏
题目 最近的m天盾神都去幼儿园陪小朋友们玩去了~ 每个小朋友都拿到了一些积木,他们各自需要不同数量的积木来拼一些他们想要的东西。但是有的小朋友拿得多,有的小朋友拿得少,有些小朋友需要拿到其他 小朋友的积木才能完成他的大作。如果某个小朋友完成了他的作品,那么他就会把自己的作品推倒,而无私地把他的所有积木都奉献出来;但是,如果他还没有完成 自己的作品,他是不会把积木让出去的哟~ 盾神看到这么和谐的小朋友们感到非常开心,于是想帮助他们所有人都完成他们各自的作品。盾神现在在想,这个理想有没有可能实现呢?于是把这原创 2020-06-17 06:54:14 · 469 阅读 · 0 评论 -
Huffuman树
题目 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。 给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下: 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa + pb。 重复步骤1,直到{pi}中只剩下一个数。 在上面的操作过程中,把所有的费用相加,就得到了构造Huffman树的总费用。 本题任务:对于给定的一个数列,现在原创 2020-06-16 08:16:26 · 113 阅读 · 0 评论 -
翻硬币
题目 小明正在玩一个“翻硬币”的游戏。 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。 比如,可能情形是:**oo***oooo 如果同时翻转左边的两个硬币,则变为:oooo***oooo 现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢? 我们约定:把翻动相邻的两个硬币叫做一步操作。 输入格式: 两行等长的字符串,分别表示初始状态和要达到的目标状态。每行的长度< 1000原创 2020-06-13 16:33:55 · 116 阅读 · 0 评论 -
增添战力
题目 大战即将来临,杰洛特需要为自己增添战斗力,广袤的大陆有诸多豪杰,正好可以为杰洛特所用 杰洛特分别有两处地方n1,n2需要豪杰的战斗力 一共有n个豪杰,每一个豪杰拥有自己的战斗力pi,当然战斗力是越高越好,可是人人之间还是有差距的。 因此两个城池决定,各自选出最高战斗力的算术平均值之和。 输入格式: 第一组一个n表示拥有多少个豪杰,以及一个n1,n2分别表示城池需要的豪杰数 接下来一行有n个数据分别表示各个豪杰的战斗力 输出格式: 两个城池最大的战斗力算数平均值之和(结果保留6位小数) 输入样例: 4原创 2020-06-14 08:38:38 · 396 阅读 · 0 评论 -
拦截导弹
题目 某国为了防御敌国的导弹袭击,发展出一种导弹 拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的 导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。 输入格式: 一行,为导弹依次飞来的高度 输出格式: 两行,分别是最多能原创 2020-06-15 06:07:23 · 193 阅读 · 0 评论 -
寂寞的数
题目 道德经曰:一生二,二生三,三生万物。 对于任意正整数n,我们定义d(n)的值为为n加上组成n的各个数字的和。例如,d(23)=23+2+3=28, d(1481)=1481+1+4+8+1=1495。 因此,给定了任意一个n作为起点,你可以构造如下一个递增序列:n,d(n),d(d(n)),d(d(d(n)))…例如,从33开始的递增序列为: 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, … 我们把n叫做原创 2020-06-10 21:28:01 · 204 阅读 · 0 评论 -
发工资咯
题目 作为程序猿,最盼望的日子就是每月的9号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵 但是对于公司财务处的工作人员来说,这一天则是很忙碌的一天,财务处的小李最近就在考虑一个问题:如果每个员工的工资额都知道,最少需要准备多少张人民币,才能在给每位员工发工资的时候都不用员工找零呢? 这里假设程序猿的工资都是正整数,单位元,人民币一共有100元、50元、10元、5元、2元和1元六种。 输入格式: 输入数据包含多个测试实例,每个测试实例的第一行是一个整数n(n<100),表示员工的人数,然后是n个原创 2020-06-07 21:48:31 · 219 阅读 · 0 评论 -
旅行家的预算
题目 一个旅行家想驾驶汽车以最少的费用从一个城市 到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离D1、汽车油箱的容量C(以升为单位)、每升汽油能行驶的距离D2、出发点每升汽油价格P 和沿途油站数N(N可以为零),油站i离出发点的距离Di、每升汽油价格Pi(i=1,2,……N)。计算结果四舍五入至小数点后两位。如果无法到达目的 地,则输出“No Solution”。 输入格式: 第一行为4个实数D1、C、D2、P与一个非负整数N; 接下来N行,每行两个实数Di、Pi。 输出格式: 如果可原创 2020-06-05 22:20:26 · 183 阅读 · 0 评论 -
排队打水问题
题目 有n个人排队到r个水龙头去打水,他们装满水桶的时间t1、t2…………tn为整数且各不相等,应如何安排他们的打水顺序才能使他们总共花费的时间最少? 数据规模和约定 其中80%的数据保证n< =10 输入格式: 第一行n,r (n< =500,r< =75) 第二行为n个人打水所用的时间Ti (Ti< =100); 输出: 最少的花费时间 输入样例: 3 2 1 2 3 输出样例: 7 参考解答: import java.util.Scanner; import java.原创 2020-06-04 22:06:26 · 549 阅读 · 0 评论