摘要: LCA题意:一个无根树,给出主角一开始所在的位置S,然后下面q个操作,操作包括查询和修改操作,对于查询操作就是当前主角的位置到目的点的距离是多少,然后主角去到那里之后就在那里等待,下次查询的时候那里就是新的起点(所以sample中第二次查询为什么是3)。修改是修改第k条边的权值,边的编号就是输入的顺序。这题可能是数据水了还是怎么,对于修改操作虽然有优化的方法,但是用最朴素的直接遍历下去修改也是可行的,不会超时,不过时间就比较糟糕了修改操作其实是修改了一部分子树的dir值,对于查询操作就是普通的LCA这里只能用RMQ了,不能用Tarjan#include <iostream>#inc 阅读全文
posted @ 2013-06-01 00:41 Titanium 阅读(984) 评论(2) 推荐(0) 编辑