摘要: 题目大意:给定一棵 N 个点的边权均为 1 的树,依次输出每个点到其他各个点的距离和。 题解:首先任意选定一个节点为根节点,比如 1,第一遍 dfs 遍历树求出子树大小、树上前缀和。第二遍 dfs 遍历这棵树,求出各个点的距离和。 对于遍历到的任意一个节点 i,对于与之相邻的节点 j 来说,答案贡献 阅读全文
posted @ 2018-11-24 21:36 shellpicker 阅读(189) 评论(0) 推荐(1)
摘要: 题目大意:给定 N 个位置,每个位置有一个答案贡献值,在一个位置加了一次该位置的答案贡献值之后,该值会减掉一部分,从一个位置移动到另一个位置需要花费一定的时间,问:给定 M 单位的时间,如何移动使得答案贡献值最大。(初始在1位置) 题解: 引理:若想使答案贡献值最大,一定不能走回头路,因为走回头路时 阅读全文
posted @ 2018-11-24 16:24 shellpicker 阅读(181) 评论(0) 推荐(0)
摘要: 题目大意:给定 N 项任务,每项任务有一个截至完成时间,若在截止时间之后完成要罚款 $w_i$ 元,最初有 M 元,怎样完成能够留下最多得钱。 题解:按照罚款从多到少贪心,在查找能够最晚完成一项任务的时间时,可以采用并查集优化,即:建立一个时间上的并查集,每次在某个时间完成一项任务时,合并当前时间和 阅读全文
posted @ 2018-11-24 15:29 shellpicker 阅读(599) 评论(0) 推荐(0)