Description 乡间有一条笔直而长的路称为“米道”。沿着这条米道上 R 块稻田,每块稻田的坐标均为一个 1 到 L 之间(含 1 和 L)的整数。这些稻田按照坐标以不减的顺序给出,即对于 0 ≤ i <R,稻田 i 的坐标 X[i]满足 1 ≤ X[0] ≤ ... ≤ X[R-1] ≤ L ...
分类:
其他好文 时间:
2017-06-11 20:09:33
阅读次数:
231
2599: [IOI2011]Race Description 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 1000000 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 100000 ...
分类:
其他好文 时间:
2017-06-03 19:20:54
阅读次数:
196
令ans[i]表示权值和等于k的路径条数,然后点分治就可以了。 具体看代码。 代码: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<vector> 6 usin ...
分类:
其他好文 时间:
2017-04-09 21:05:19
阅读次数:
239
【BZOJ2599】[IOI2011]Race Description 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 1000000 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 10 ...
分类:
其他好文 时间:
2017-03-29 20:54:36
阅读次数:
187
2600: [Ioi2011]ricehub Description 乡间有一条笔直而长的路称为“米道”。沿着这条米道上 R 块稻田,每块稻田的坐标均为一个 1 到 L 之间(含 1 和 L)的整数。这些稻田按照坐标以不减的顺序给出,即对于 0 ≤ i <R,稻田 i 的坐标 X[i]满足 1 ≤ ...
分类:
其他好文 时间:
2017-01-07 18:24:50
阅读次数:
229
写了四五道点分治的题目了,算是比较理解点分治是什么东西了吧= = 点分治主要用来解决点对之间的问题的,比如距离为不大于K的点有多少对。 这道题要求距离等于K的点对中连接两点的最小边数。 那么其实道理是一样的。先找重心,然后先从重心开始求距离dis和边数num,更新ans,再从重心的儿子开始求得dis ...
分类:
其他好文 时间:
2016-12-15 18:00:48
阅读次数:
151
[BZOJ2599][IOI2011]Race 试题描述 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 1000000 输入 第一行 两个整数 n, k第二..n行 每行三个整数 表示一条无向边的两端和权值 (注意点的编号从0开始) 输出 一 ...
分类:
其他好文 时间:
2016-08-07 12:14:51
阅读次数:
161
2600: [Ioi2011]ricehub Description 乡间有一条笔直而长的路称为“米道”。沿着这条米道上 R 块稻田,每块稻田的坐标均为一个 1 到 L 之间(含 1 和 L)的整数。这些稻田按照坐标以不减的顺序给出,即对于 0 ≤ i <R,稻田 i 的坐标 X[i]满足 1 ≤ ...
分类:
其他好文 时间:
2016-07-14 18:50:51
阅读次数:
126
2599: [IOI2011]Race Description 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 1000000 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 100000 ...
分类:
其他好文 时间:
2016-06-26 22:20:06
阅读次数:
257
【题目链接】
点分治。
考虑经过点x的路径,对于x,用类似TreeDP的方法,记录no[d],表示路径长度为d时经过边最少的点的编号。
对于已经走过的子树,更新no。对于当前子树,遍历到一个点v,用depth[no[k - dis[v]]] + depth[v]更新答案。
注意给no清零时,用dfs姿势清零,这样做是O(n)的。如果直接用for或者memset,这样做是O(k)的,...
分类:
其他好文 时间:
2016-05-12 21:39:13
阅读次数:
200