摘要: [Codeforces600E] Lomsat gelral(树上启发式合并) 题面 给出一棵N个点的树,求其所有子树内出现次数最多的颜色编号和。如果多种颜色出现次数相同,那么编号都要算进答案 N≤100000 分析 树上启发式合并,用map记录颜色出现次数,合并的时候更新最多的出现次数和编号和。 阅读全文
posted @ 2019-07-23 21:56 birchtree 阅读(231) 评论(0) 推荐(0) 编辑
摘要: [BZOJ3626] [LNOI2014]LCA(树链剖分) 题面 给出一棵N个点的树,要求支持Q次询问,每次询问一个点z与编号为区间[l,r]内的点分别求最近公共祖先得到的最近公共祖先深度和。N, Q≤50000 分析 对于一个点i,我们把i到根节点的路径全部标记+1,然后从z往上找,第一个碰到的 阅读全文
posted @ 2019-07-23 21:41 birchtree 阅读(257) 评论(0) 推荐(0) 编辑
摘要: [BZOJ3307] 雨天的尾巴(树上差分+线段树合并) 题面 给出一棵N个点的树,M次操作在链上加上某一种类别的物品,完成所有操作后,要求询问每个点上最多物品的类型。 N, M≤100000 分析 考虑树上差分。对于每条链(x,y),我们在x,y打一个+标记,lca(x,y)和lca(x,y)的父 阅读全文
posted @ 2019-07-23 21:23 birchtree 阅读(290) 评论(0) 推荐(0) 编辑
摘要: [BZOJ 3307]Cow Politics (LCA) 题面 给出一棵N个点的树,树上每个节点都有颜色。对于每种颜色,求该颜色距离最远的两个点之间的距离。N≤200000 分析 显然对于每种颜色建立一棵虚树是可行的。但是有编码复杂度更低的方法。显然某种颜色距离最远的两个点中,一个肯定是这种颜色的 阅读全文
posted @ 2019-07-23 21:14 birchtree 阅读(205) 评论(0) 推荐(1) 编辑
摘要: [CF453C] Little Poney and Summer Sun Celebration (思维) 题面 给出一张N个点M条边的无向图,有些点要求经过奇数次,有些点要求经过偶数次,要求寻找一条满足要求的路径,且该路径长度不超过点数的四倍。 N, M≤100000 分析 如果将图整个遍历一遍再 阅读全文
posted @ 2019-07-23 21:05 birchtree 阅读(127) 评论(0) 推荐(0) 编辑