zr2019暑期高端峰会AB组day10
A. 普通LCP
- 建出sam,两个串的lcs是他们的lca
- 考虑lca这个点的贡献必定是len[lca],在它不同的两个子树里找最小和次小的左端点i和j
- 按字典序枚举lca,保证lcs字典序最小
B. 优秀的Tree
- 我们考虑每一对点相邻的贡献,很容易列出式子 2 ( n − 1 ) ! ∑ w ( i , j ) 2(n-1)! \sum w(i,j) 2(n−1)!∑w(i,j)
- 我们再对于每一种颜色单独考虑它造成的贡献,就是有多少条路径包含了这个颜色,我们再反过来考虑,有多少路径不包含这个颜色,用总路径树减
- 于是对于某个颜色,它的点把整棵树分成了很多个块,我们需要知道每个块的大小,这部分的处理DFS即可,LCT也可
C. 猛男Splay
这个这个大力讨论加码农题就。。。。。