随笔分类 -  ACM / 基础算法 / 贪心

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