摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2809 我们考虑以每一个节点作为管理者所得的最优答案,一定是优先选择所要薪水少的忍者。那么首先整棵子树的忍者都选上,如果总和大于$M$,那么就不断删除薪水最大的那一个忍者。 然后考虑从下至上合 阅读全文
posted @ 2017-10-04 17:07 halfrot 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2190 看到这道题首先想到了NOI2010的能量采集,这不就是赤裸裸的弱化版吗?直接上莫比乌斯反演就行了。 令$f(d)=\sum_{i=1}^n\sum_{j=1}^n[gcd(i,j)== 阅读全文
posted @ 2017-10-03 21:38 halfrot 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1083 由kruskal算法原理可知,我们对一张无向图做普通的最小生成树,连上的最后一条边就是答案。 阅读全文
posted @ 2017-10-03 19:52 halfrot 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2330 类似于题目中这种含有不等式关系,我们可以建立差分约束系统来跑最长路或最短路。 对于一个不等式$X_1-X_2>=a$我们可以看成是$X_1>=X_2+a$,把$X_1$和$X_2$看成 阅读全文
posted @ 2017-10-03 18:52 halfrot 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1257 题目所求为$$Ans=\sum_{i=1}^nk%i$$ 将其简单变形一下$$Ans=\sum_{i=1}^nk-\lfloor\frac{k}{i}\rfloor*i$$ $$Ans 阅读全文
posted @ 2017-10-03 16:08 halfrot 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1029 这道题好像是一道比较经典的贪心,最主要的思路是用堆来提供反悔,修正决策的途径。 我们首先按每个建筑的最晚修复时间排序。然后扫过去,能修就修,并且将修过建筑所用的时间加入到堆里面。 如果 阅读全文
posted @ 2017-09-28 21:01 halfrot 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2456 这道题有着神奇的内存限制1MB也就是说我们是没办法把读入的数字存下来的。 由于答案求的众数出现次数大于$\frac{n}{2}$,我们可以用一种抵消的思想,就是两个不相同的数互相抵消, 阅读全文
posted @ 2017-09-28 20:28 halfrot 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1878 不带修改的莫队,用一个桶记录一下当前区间中每种颜色的数量就可以做到$O(1)$更新了。 阅读全文
posted @ 2017-09-28 19:10 halfrot 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1088 记录下每一个格子对应左边格子放的雷的情况,然后dp转移就好了。 阅读全文
posted @ 2017-09-27 21:36 halfrot 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1798 一眼看过去线段树,事实上就是线段树。对于乘和加的两个标记,我们可以规定一个顺序,比如先乘后加。每次乘的时候利用乘法分配律就可以分别更新标记,而加就直接加上去就好了。 阅读全文
posted @ 2017-09-27 21:02 halfrot 阅读(123) 评论(0) 推荐(0) 编辑