摘要: 【题意】给定带边权树,求两点距离<=k的点对数。n<=40000。 【算法】点分治 【题解】对于一个区域,选择其重心x作为根,则划分出来的每棵子树都是子区域,可以证明至多划分log n次(通过vis[]划分区域)。每次划分所有点都扫描一次,所以仅遍历的复杂度是O(n log n)。 对于本题,将点x 阅读全文
posted @ 2018-01-20 11:20 ONION_CYC 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 【题意】给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 1000000。注意点从0开始编号,无解输出-1。 【算法】点分治 【题解】每个区域按重心x划分子树,一条经过x的路径是从一个子树到另一个子树的(从x出发记为深度0即可),那么就让子树i的 阅读全文
posted @ 2018-01-20 11:09 ONION_CYC 阅读(262) 评论(0) 推荐(0) 编辑