随笔分类 - 基础算法——贪心
摘要:题目分析 贪心+树形DP 本来还以为要大费周折地换根,然后发现 \(n\) 很小,可以直接 \(O(n^2\log n)\) 枚举。 枚举每个节点作为根,用 \(f_x\) 表示走完以 \(x\) 为根的子树花费的最小时间。 那么如何更新呢?这个时候就要用到贪心的思想了。假设我们现在已经知道了 \(
阅读全文
摘要:思路 感谢 liuzibujian 的思路 错误做法 感觉和国王游戏很像,所以像国王游戏一样,试着用相邻比较法试一下可不可以做。 设现在要比较的两个大臣为 \(i, j\),\(j\) 在 \(i\) 后,\(i\) 前面所有大臣左手的值的和为 \(x\),\(i\) 的前一个大臣的奖金数为 \(y
阅读全文
摘要:之前做的时候感觉看不明白,现在做感觉好简单= = 思路 假设现在只有三个人:国王$k$、\(x\)、\(y\) 那么有两种排列顺序: 第一种 \(k_a\) \(k_b\) \(y_a\) \(y_b\) \(x_a\) \(x_b\) \(val_x=\dfrac{k_ay_a}{x_b}\) \
阅读全文
摘要:颓多了,学一会儿 思路 贪心 小涵一定可以做到比计算机聪明,所以小涵不会输,一定有答案。 小涵首先选择的一定是默契值最大的两位武将中的其中一个,而计算机之后一定会选择与这个配对的另一个数(即默契值最大的两位武将中的另一个),所以小涵在每一行都选择不到最大值,只能选择到次大值,所以对每一行的数据进行排
阅读全文
摘要:这题可以用二分答案来做 那么为什么可以用二分答案呢? 答案当然是满足了单调性。 假设用$x$天能够考完所有试,那么用大于$x $天必定也能够考完所有试,所以满足了单调性,我们就可以二分答案 那么如何$check$呢?考虑一下贪心 贪心思路:在二分的$mid$天之前找到每一科考试可以考的最后一天,只在
阅读全文
摘要:洛谷 P1016 旅行者的预算 感觉自己连点生活常识都没有,竟然连油用过之后要减去都不知道,这种贪心模拟题都做不出来……思路在代码里,我菜死了 思路&&代码 //看题解过的。。一点都没有成就感 #include <cstdio> #include <cstring> #include <iostre
阅读全文
摘要:洛谷 P3143 [USACO16OPEN]钻石收藏家Diamond Collector 思路 把所有钻石排序,显然最优解会是排序后的一个区间。(易用反证法证明) 那么从小到大枚举这个区间的右端点$r$,能够满足条件的最靠左的右端点$l$单调不降 建立变量$now$和$r$ , $now$表示某位置
阅读全文
摘要:思路 首先题意比较容易明白: n个建筑需要修复,只能同时修一个建筑,每个建筑修复需要t1时间,且必须在t2时间前修完,否则此建筑报废 问最多能修好多少个建筑 如果一个建筑在规定时间内没有修好的话,那它就报废了 那么为了保证能修的最多,我们首先想到的就是贪心,那么如何贪心呢? 手动模拟一下就会发现,如
阅读全文
摘要:一些“基础”算法 枚举子集的子集 给定n个元素,问这n个元素组成的每一个集合的所有子集。 for(int S = 1; S < (1 << n); ++S) { for(int S1 = S; S1 != 0; S1 = (S1 - 1) & S) { //do something } } 最外层就
阅读全文
摘要:洛谷 P5021 [NOIP2018]赛道重建 传送门 思路 思路就是常规的思路,所以就不说了……我就是来记录一下我的$AC$之路的,真的是太爽了 没错……我也是一个个打的部分分,最后终于AC的,至于为什么中间又会有$35$、\(25\)、$0$这样的分数……纯粹是因为我犯了zz错误…… 代码 1、
阅读全文

浙公网安备 33010602011771号