【题目大意】 给一棵树,求有多少条路径满足总和-最大值 是P的倍数 n<=10^5, P<=10^7 【题解】 一看就是点分治嘛 不考虑子树合并,考虑poj1741的做法,每次考虑经过重心的路径,用优先队列,从小到达添加并求答案即可。 容斥下。 # include <queue> # include ...
分类:
其他好文 时间:
2017-06-17 00:16:58
阅读次数:
224
题意: 思路:点分治论文题 我们知道一条路径要么过根结点,要么在一棵子树中,这启发了我们可以使用分治算法。 记 Depth(i)表示点i 到根结点的路径长度, Belong(i) = X ( X 为根结点的某个儿子,且结点i 在以 X 为根的子树内)。 那么我们要统计的就是: 满足 Depth (i ...
分类:
其他好文 时间:
2017-03-08 11:26:12
阅读次数:
189
Description Give a tree with n vertices,each edge has a length(positive integer less than 1001). Define dist(u,v)=The min distance between node u and ...
分类:
其他好文 时间:
2017-03-08 01:02:26
阅读次数:
232
题意:给定一棵树,求树中长度为三的倍数的路径条数 题解:定义c[i]为一颗子树中每个节点到根的距离%3等于i的路径数量,和poj1741一样,我们只需要找出只在一颗子树中的路径,就是c[1]*c[2]*2+c[0]*c[0] #include <cstdio> #include <cstring> ...
分类:
其他好文 时间:
2017-02-27 00:52:28
阅读次数:
163
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作。 本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作。 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注 ...
分类:
其他好文 时间:
2017-01-23 22:41:10
阅读次数:
274
题目描述 Description Give a tree with n vertices,each edge has a length(positive integer less than 1001). Define dist(u,v)=The min distance between node u ...
分类:
其他好文 时间:
2017-01-18 13:43:52
阅读次数:
227
题意: 求树上距离小于等于K的点对有多少个 思路: 每次分治,我们首先算出重心,为了计算重心,需要进行两次dfs,第一次把以每个结点为根的子树大小求出来,第二次是从这些结点中找重心 找到重心后,需要统计所有结点到重心的距离,看其中有多少对小于等于K 但是这些求出来满足小于等于K的里面只有那些路径经过 ...
分类:
其他好文 时间:
2016-10-22 14:40:16
阅读次数:
282
http://poj.org/problem?id=1987 (题目链接) 题意 给出一棵树,求树上距离不超过K的点对个数。 Solution 点分治,同poj1741。 代码 ...
分类:
其他好文 时间:
2016-10-06 17:36:25
阅读次数:
181
http://poj.org/problem?id=2114 (题目链接) 题意 给出一棵树,问是否存在两点间的距离为K。 Solution 点分治嘛,跟poj1741差不多。。 然而为什么我调了一个下午。。map真是坑死了,各种TLE,以后再也不写了。 代码 ...
分类:
其他好文 时间:
2016-10-05 19:30:23
阅读次数:
146
Problem 题目大意 解题分析 参考程序 1 #include <map> 2 #include <set> 3 #include <stack> 4 #include <queue> 5 #include <cmath> 6 #include <ctime> 7 #include <strin ...
分类:
其他好文 时间:
2016-09-30 00:59:43
阅读次数:
389