摘要: 题目链接: "点这里" 大致题意:给你一颗树,求出所有边权和能被3整除的路径数 Solution: 用一个pos数组来记录路径长度mod 3之后的数量 则答案为pos[1] pos[2] 2+pos[3] pos[3] 最后去除同子树内的答案即可 Code: cpp include define l 阅读全文
posted @ 2019-05-07 18:32 DQY_dqy 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "点这里" 题目描述:给你一棵n个点的带权有根树,有p个询问,每次询问树中是否存在一条长度为Len的路径,如果是,输出Yes否输出No. 数据范围:$n\le1e5\,,p\le100\,,长度\le1e5$ Solution: 点分治裸题,没什么好讲的。不过注意当询问0时,答案应该是Y 阅读全文
posted @ 2019-05-07 18:26 DQY_dqy 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "点这里" Solution: 点分治,算出点对之间的距离,记录所属子树和与跟之间的边数。 对于每个点,记录排序过后位置离自己最近的不同子树的点,记做go[x] 每次二分去更新,若遇到同一子树的点,则尝试用go[x]去更新 排序以距离为第一关键字,边数为第二关键字(这样二分出来的点一定是 阅读全文
posted @ 2019-05-07 11:41 DQY_dqy 阅读(177) 评论(0) 推荐(2) 编辑