随笔分类 - 贪心
摘要:最长链是根节点到深度最深的结点的路径。 显然,要么直接走最长链,要么兜兜转转几个圈圈再走最长链,而最长链以外的结点因为要“兜圈”,所以要经过两次。 cpp include include using namespace std; int n, v, hea[105], cnt, uu, vv, zc
阅读全文
摘要:神贪心……写了一个晚上加一个早上。 先考虑只有一个宿管的情况。 首先,如果这个宿舍人多了,多余的人就跑到下一个宿舍。(如果这是最后一个宿舍的话,多的就躺床底下) 如果这个宿舍人少了,但是能从别的宿舍调过来人,那就调人。 如果这个宿舍人少了,从别的宿舍也调不过来足够的人,那就全跑到下一个宿舍去。 让宿
阅读全文
摘要:参见算法竞赛进阶指南77页 参考算法竞赛进阶指南188页 cpp include include include using namespace std; int n, fa[10005], ans; struct Node{ int p, d; }nd[10005]; bool cmp(Node
阅读全文
摘要:区间上有 $n$ 个点,问你为达到目的:长度为 $m$ 的区间内点的个数都 $ include include include include using namespace std; int n, m, k, a[200005], cnt; queue q; int main(){ cin n m
阅读全文
摘要:大约是第一次做近几年NOI题(尽管是签到题)? 制作一个真值表,要是有哪一位原本是0但是能变成1那真是太好啦,要是有哪一位原来是1能变成1并且算上它不会超过m那也不错。 cpp include include using namespace std; int zz1, zz2, n, m, t, a
阅读全文
摘要:发现好像没人来证明贪心啊……那我来写一下它的证明 欲证明:放一个数在已有的柱上(如果可以)总是比新开一个柱更优的 假如已经放了 现在我要放 我有两种策略 在 (`xu xx`组成完全平方数的数)上放,或者新开一个柱子 即 or 然后再考虑 对于 ,上下两种都是一样的,就不说了 既然 可以与 组成完全
阅读全文
摘要:好题。 网上看到的范围是:$T \leq 10$,$ n \leq 50000$, $ a_i,b_i \leq 10^9$。 我们按照贪心惯常的思路考虑交换相邻的两个人。容易发现,对于相邻的两个人,总是后一个人的答案更大一点。而我们的目的,是让两个人中后一个人的答案更小(这样可以让这两个人后面的答
阅读全文

浙公网安备 33010602011771号