![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心法
ChenKunn
最弱的ECUSTer
展开
-
POJ 3617 Best Cow Line
让我们每次从头和尾取字母,然后重组成字典序最小的字符串。 解法:贪心。 不断地从开头或结尾取最小的放到新字符串的末位。但是我们还得处理一种开头和末尾相同的情况,我们必须保证尽早取到最小的。所以我们可以用两个指针分别从开头和末尾逐位比较。那边先出现较小的,就先取那边的。 #include<cstdio> #include<iostream> using nam...原创 2018-10-24 19:19:46 · 157 阅读 · 0 评论 -
POJ 3069 Saruman‘s Army
直线上有一些点,每个点距离为R的范围内必须有带有标记的点。需要标记最少的点来实现。 解法:贪心 显然,我们应该从最左边的点开始标记,然后选择一个在本次标记点覆盖范围外的第一个点。 #include<cstdio> #include<algorithm> using namespace std; int n, r, ans; int a[1200]; int main...原创 2018-10-24 19:24:50 · 191 阅读 · 0 评论 -
POJ 3252 Fence Repair
把一个木板切割成N块,每次切割的花费是原木板的长度。N块木板的长度给出,求最小花费。 这个题需要反过来看。最小和次小的两块木板是最后被切的。。每次都把最小和次小取出,加入ans,然后把两者相加放入堆中。 需要注意的是数据的大小用long long, 因为STL默认大根堆,在把数据插入堆中的时候*-1就是小根堆了。 #include<cstdio> #include<que...原创 2018-10-24 19:31:21 · 176 阅读 · 0 评论