跟去年NOIP某题基本一样。最小生成树之后,就变成了询问连接两点的路径上的权值最大的边。倍增LCA、链剖什么的随便搞。块状树其实也是很简单的,只不过每个点的点权要记录成“连接其与其父节点的边的权值”,然后暴力LCA时不要用LCA的值更新答案了。 1 #include 2 #include 3 ...
分类:
Web程序 时间:
2014-10-04 10:29:26
阅读次数:
454
带 加点 删边的块状树。加点在 bzoj3720 说过。删边其实就是块顶打标记,记录其属于哪棵树,防止在dfs搜集答案时跑到别的树上。然后暴力把所在块拆开。好像用邻接表存图,直接在vector里删边也行? 1 #include 2 #include 3 #include 4 #include...
分类:
其他好文 时间:
2014-09-28 19:21:45
阅读次数:
330
很早之前用树链剖分写过,但是代码太长太难写,省选现场就写错了。 1 #include 2 #include 3 #include 4 using namespace std; 5 #define lson rt>1,ans=0; 26 if(ql>1,ans=-2147483647...
分类:
其他好文 时间:
2014-09-15 19:26:59
阅读次数:
214