2015年2月7日

hdu4822 求树上到某点比其他两点距离小的点个数

摘要: 首先如果是两个点那应该从中间切成两半,再判断所属所以必然需要使用树上倍增==继而如果是三个点,则需要仔细分情况讨论==参考别人的分类讨论写的,感觉那个type判断在哪条链很巧妙啊~ 1 #pragma comment(linker,"/STACK:16777216") 2 #include 3... 阅读全文

posted @ 2015-02-07 04:50 xiao_xin 阅读(285) 评论(0) 推荐(0) 编辑

hdu2887 最小生成树+利用lca倍增求树上两点间最大线段

摘要: 首先:可以利用加一个虚拟节点连向所有点,边权即为点权,求一遍最小生成树然后在这棵树上预处理一个倍增,在向上倍增的过程中开一个maxdis[x][j]记录从x开始向上2^j步最大线段这样就可以实现log的查询了== 1 #include 2 #include 3 #include 4 usin... 阅读全文

posted @ 2015-02-07 00:16 xiao_xin 阅读(345) 评论(0) 推荐(0) 编辑

导航