(贪心、字符串) ##题目大意 给一些字符串,求它们拼接起来构成最小数字的方式 ##思路 贪心算法。用cmp排序,直接判断a+b和b+a的大小即可。 必须保证两个字符串构成的数字是最小的才行,所以cmp函数写成return a + b < b + a;的形式,保证它排列按照能够组成的最小数字的形式排 ...
分类:
其他好文 时间:
2020-07-13 14:04:47
阅读次数:
60
题意:有$n$个桩子,$1$表示该位置有一个火炉,可以使两边距离为$r$的范围照亮,问最少使用多少炉子使得所有范围都被照亮. 题解:贪心,首先我们从$r$位置开始向左找,如果找到了就记录这个位置,然后答案+1,然后再从$2*r-1$这个位置开始向左找第一个没有标记的火炉,如果没有找到就直接输出$-1 ...
分类:
其他好文 时间:
2020-07-11 23:04:03
阅读次数:
47
E. K-periodic Garland 题意 给出一个长度为 n 的 01 串,现在规定一个串如果相邻两个 1 的位置相隔为 k ,那么这个串就是好串,现在你可以将某个位置的字符翻转,问最少需要多少次可以把这个串变成一个好串? 思路 本来是练习DP的,但是想着想着跑偏了。 好串格式应该是0000 ...
分类:
其他好文 时间:
2020-07-11 19:33:40
阅读次数:
40
比较好的一道贪心题. code: #include <set> #include <vector> #include <cstdio> #include <cstring> #include <algorithm> #define N 100009 #define ll long long #def ...
分类:
其他好文 时间:
2020-07-11 12:50:00
阅读次数:
60
题目 解 很清奇的贪心策略题 主要是将所有的怪分成两种——$ d<a $的刷分回血怪和 $ d > a$ 的让人残血的BOSS 我们分开处理,先把所有的的刷分怪打完,这样血达到最厚,再去打BOSS 刷分怪先打血少的,也就是按d升序 BOSS先打血药大的,也就是按a降序,这里很神奇 详见代码 code ...
分类:
其他好文 时间:
2020-07-11 12:40:12
阅读次数:
49
给你一个长度为 $n$ 的串 $s_1$,再给你一个长度为 $m$ 的串 $s_2$,问需要至少多少个 $s_1$ 的子串才可以拼成 $s_2$? ...
分类:
其他好文 时间:
2020-07-11 12:33:33
阅读次数:
50
由krus求MST可以知道,我们将边集合按照权值大小排序,从小到大贪心的取,其中可以发现,如果权值=x的边,被选取,那么所有权值等于=x的边对应的点应该全部在当前构建的MST中。即,权值相等的边集,在构建MST的过程中,对应点集保持一致。 所以我们这道题目按照权值sort一遍,然后再离线保存下来查询 ...
分类:
其他好文 时间:
2020-07-10 21:17:46
阅读次数:
57
暴力解法很容易: /** * @Author Niuxy * @Date 2020/7/9 9:49 下午 * @Description 暴力解法 */ public final int maxArea0(int[] height) { int max = 0; for (int i = 0; i ...
分类:
编程语言 时间:
2020-07-10 00:14:45
阅读次数:
71
LINK:Giant Graph 神仙题目。 容易发现在图中选择某个点的贡献为$10^{18\cdot(x+y+z)}$ 这等价于多选一个点多大一点就多乘了一个$10^{18}$ 所以显然是贪心的选取是最优的。 直接贪复杂度较高 考虑一个点的是否选取只和其某个维度上相邻的点有关。 形式化的 设$f_ ...
分类:
其他好文 时间:
2020-07-09 20:54:43
阅读次数:
75
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2570 解析: 想让最后的体积最大,肯定是先加入浓度小的。 所以贪心思路是,浓度从小到大加入。 注意: n种同体积的浓度分别为a,b,c...那么混合以后浓度为:(a+b+c+..)/n 所以从小到大加入即可 ...
分类:
其他好文 时间:
2020-07-09 17:52:11
阅读次数:
89