随笔分类 - ACM / 基础算法 / 贪心
摘要:题目链接:CodeForces 1883C【Raspberries】 思路 依次枚举,特判k = 4的情况,因为k = 4可以由2个2拼凑起来,这2个2可以不在同一个元素上,如K = 4时,数组a可以为2, 3, 2, 5, 7, 9,此时数组中所有的元素乘积可以被4整除。若k = 4时,此时数组中
阅读全文
摘要:题目链接:POJ 2388【Who's in the Middle】 思路 求中位数,排序输出中间的数字。 代码 #include <iostream> #include <algorithm> using namespace std; #define ll long long const int
阅读全文
摘要:题目链接:CodeForces 1992B【Angry Monk】 思路 找出最大的元素,除了最大的元素的所有元素全部分成1,所以操作次数为sum(数组) - max(数组) - (数组元素个数 - 1),然后全部合并到最大的元素上,操作次数为sum(数组) - max(数组),所以最最后得到sum
阅读全文
摘要:题目链接:CodeForces 1992E 【Novice's Mistake】 思路 直接对a,b枚举肯定会超时,因为a,b数数字过大,但是通过结果a * n - b可以发现结果最多为6位数,所以对结果的位数进行枚举,然后枚举a,来计算出b并判断是否符合题意,同时需要去掉b不符合题目的范围的情况。
阅读全文
摘要:题目链接:HDU 1789【Doing Homework again】 思路 将输入的数据按分数排序,先将分数高的作业完成,但是考虑到一天只能写一种作业,为了不造成冲突需要预留头几天,从每种作业的结束期限开始安排,因为所有作业都可以在头几天完成,若从第1天开始安排则可能出现如下的情况:作业分数--9
阅读全文
摘要:POJ 1089【Intervals】题目链接: 思路 我们可以使得每个雷达尽可能多的覆盖小岛。我们可以枚举每个小岛求出能覆盖当前小岛的雷达放置位置的区间,从左往右看,为了尽量不浪费雷达的检测范围,对于第一个雷达,为了不浪费雷达的检测范围,所以将第一个雷达放在第一个放置区间的最右端,然后依次枚举下一
阅读全文
摘要:题目链接:HDU 2570【迷障】 思路 简单贪心,需要算出尽可能大的体积,所以先将浓度数组按从小到大的顺序排列,然后从小到大依次取出药水配置,直到浓度大于w,回溯到前一个状态并输出 代码 #include <bits/stdc++.h> #include <exception> using nam
阅读全文
摘要:题目链接:POJ 1521【Entropy 】 思路 典型哈夫曼树,求哈夫曼树的带权路径长度。 代码 #include <iostream> #include <queue> #include <string> #include <cstdio> #include <algorithm> #incl
阅读全文
摘要:题目链接:HDU 2037【今年暑假不AC】’ 思路 典型区间贪心,按节目结束时间升序排序,结束时间相等时按开始时间升序排序,然后逐个查找满足要求的节目,下一个观看的节目开始时间要大于当前观看节目的结束时间。 代码 #include <bits/stdc++.h> using namespace s
阅读全文

浙公网安备 33010602011771号