摘要:
f[0][i]为i出发的最长路,f[1][i]为到i的最长路新建源汇S,T,S向每个点连边,每个点向T连边将所有点划分为两个集合S与T,一开始S中只有S,其它点都在T中用一棵线段树维护所有连接属于两个集合的点的边,权值为f[1][u]+f[0][v]按拓扑序依次计算去掉每个点后图中的最长路对于当前计... 阅读全文
posted @ 2015-01-18 15:39
Claris
阅读(804)
评论(0)
推荐(2)
摘要:
求出S串的后缀树,则两个后缀的lcp等于其lca到根的距离对于每次询问,对这些节点构造虚树,然后树形DP即可#include#includeusing std::sort;typedef long long ll;const int inf=1='0')&&(c='0')&&(c=tree[node... 阅读全文
posted @ 2015-01-18 12:40
Claris
阅读(672)
评论(0)
推荐(0)

浙公网安备 33010602011771号