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
传送门 一句话怎么说来着 算法+高级数据结构=OI 现在我感觉到的是 我会的算法+我会的高级数据结构=WA 这道题提交了三四十次,从刚看题到完全写好花了好几天..,主要死于看错费马小定理的适用条件。 下面是正经题解: 首先,这道题的难点不在于找到有多少个路径(很明显的点分治),而是判断一条路径是否合 ...
分类:
其他好文 时间:
2016-09-28 15:48:05
阅读次数:
149
http://www.lydsy.com/JudgeOnline/problem.php?id=2152 (题目链接) 题意:给出一棵n个节点的带权树,求有多少点对的距离是3的倍数。 solution 点分治。对于每个重心统计出每棵子树到重心的距离%3=0/1/2的点的数量即可。求出ans后与n²进 ...
分类:
其他好文 时间:
2016-09-28 15:39:02
阅读次数:
146
http://poj.org/problem?id=1741 (题目链接) 树上分治第一题。 题意:给出一个n个节点的带权树,求树上距离不超过K的所有点对的个数。 solution 点分治裸题。所谓的点分治,就是对于一条路径,只有经过该点和不经过改点两种情况,所以我们可以通过找到树的重心,删去这个点 ...
分类:
其他好文 时间:
2016-09-28 15:21:32
阅读次数:
166
【引言】 由于树具有一般的图没有的特点,所以在竞赛中的应用更广。 在一些树上路径问题中,暴力求解时间复杂度过高,往往需要一些更为高效的算法,点分治就是其中之一。 【流程】 1、首先选取一个点,把无根树变成有根树。 那么如何选点呢? ——树型动规 因为树是递归定义的,所以我们当然希望递归的层数最小。 ...
分类:
其他好文 时间:
2016-09-27 13:18:02
阅读次数:
218
传送门 不是那么裸的点分治。 $f[i][0/1]$表示当前节点的一个子树中总权值和为$i$,且是否存在一个前缀使得其前缀和为$i$ $g[i][0/1]$表示当前节点的已遍历过的子树,其余一样。 对于每个节点 $ans_{node}=g[0][0]?f[0][0]+ \sum (g[?i][0]? ...
分类:
其他好文 时间:
2016-09-26 14:21:31
阅读次数:
142
传送门 点分治常规题。练习模板 1 //OJ 2077 2 //by Cydiater 3 //2016.9.23 4 #include <iostream> 5 #include <cstdio> 6 #include <cstring> 7 #include <string> 8 #includ ...
分类:
其他好文 时间:
2016-09-23 14:37:07
阅读次数:
289
预备知识 树分治,树链剖分 poj1741 ?一棵有n个节点的树,节点之间的边有长度。方方方想知道,有多少个点对距离不超过m 题解 点分治模板题。详见我早上写的http://www.cnblogs.com/chouti/p/5836926.html OrzFang Ⅸ ?有一棵n个点,边长为1的树,... ...
分类:
其他好文 时间:
2016-09-03 22:28:03
阅读次数:
121