race 点分治 题目链接:https://www.luogu.org/problemnew/show/P4149; 在点分治过程中维护一下当层最小值即可,dfs一遍判断 路径权值 为v(v<=k)的路径最小数量g[v]; 然后求下g[k-v]+g[v]的最小数量,更新下答案即可; 代码 1 #in ...
分类:
其他好文 时间:
2018-11-27 01:25:54
阅读次数:
189
就和上一题差不多嗟 波老师说nlogn^2跑的过去,我想着还是优越点写个nlogn吧 用开1000000个vector记录下边权和为d的方案 然后出来一个个匹配就好啦~ 然鹅。。。。 bzoj跑不过去,luogu开O2跑得贼快,CH也过了 ORZ肉老师,不用把全部记录的,就把边权和为d的方案中,属于 ...
分类:
其他好文 时间:
2018-08-09 12:14:51
阅读次数:
155
题目链接 "bzoj2599: [IOI2011]Race" 题解 点分治,用t[k]表示子树中距离root为k 的最小边路径 转移时先与前边子树和合并更新答案,然后更新距离父节点最优值,这样就保证不在同一子树内了 每次分层的时候记得清除答案 代码 c++ include include inclu ...
分类:
其他好文 时间:
2018-07-01 11:55:59
阅读次数:
201
题意:给一棵树,每条边有权。求一条简单路径,权值和等于 K ,且边的数量最小。 总结:这个题直接做不好找边数最小,可以转化为判定性问题,ans[i]表示权值和等于K的边的数量为i的路径个数,然后直接点分统计 ...
分类:
其他好文 时间:
2018-06-03 17:28:16
阅读次数:
149
记录每一次分治时,达到重心的dep,加到一个桶中,没添加一个节点,查询桶中是否存在,之后加和和答案取最小值 ...
分类:
其他好文 时间:
2018-04-23 14:22:55
阅读次数:
169
Description 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N define ui unsigned int define ll long long define db double define ld long double define ull unsigned ...
分类:
其他好文 时间:
2018-04-13 11:12:33
阅读次数:
197
Description 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 1000000 给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小.N <= 200000, K <= 1000000 Input 第一行 两个整数 n, ...
分类:
其他好文 时间:
2018-04-01 13:21:12
阅读次数:
176
题目 bzoj权限题。。。 "Luogu" Sol 点分治辣,边权非负,k =1,开个$1e6$的桶就好辣 cpp include define RG register define IL inline define Fill(a, b) memset(a, b, sizeof(a)) using ...
分类:
其他好文 时间:
2018-02-25 17:32:13
阅读次数:
164
BZOJ权限题qwq [Luogu][1] sol 树上路径当然是淀粉质辣! 考虑所有过重心的路径。开一个$10^6$大小的数组$t$表示某一路径长度的最小边数,初始化为$inf(i 0)$,$t[0]=0$。 枚举重心的每棵子树进行$dfs$,假设获得了一条从重心出发边数为$dep$边权和为$di ...
分类:
其他好文 时间:
2018-02-23 22:25:37
阅读次数:
165
Description 给一棵树,每条边有权.求一条简单路径,权值和等于 $K$ ,且边的数量最小. $N \leq 200000, K \leq 1000000$ Input 第一行 两个整数 $n, k$ 第二.. $n$ 行 每行三个整数 表示一条无向边的两端和权值 (注意点的编号从 $0$ ...
分类:
其他好文 时间:
2018-02-05 10:36:38
阅读次数:
150