E. Misha and LCP on Tree Problem's Link Mean: 给出一棵树,每个结点上有一个字母。每个询问给出两个路径,问这两个路径的串的最长公共前缀。 analyse: 做法:树链剖分+后缀数组. 记录每条链的串,正反都需要标记,组成一个长串. 然后记录每条链对应的串在大串中的位置,对大串求后缀数组,最后询问就是在一些链
一、题目 1、题目描述 小扣在秋日市集入口处发现了一个数字游戏。主办方共有 N 个计数器,计数器编号为 0 ~ N-1。每个计数器上分别显示了一个数字,小扣按计数器编号升序将所显示的数字记于数组 nums。每个计数器上有两个按钮,分别可以实现将显示数字加一或减一。小扣每一次操作可以选择一个计数器,按下加一或减一按钮。 主办方请小扣回答出一个长度为 N 的数组,第 i 个元素(0 <= i <
hdu4622 后缀数组基础题? 昨天学了后缀排序其实最有用的是后缀数组求 l c p lcp lcp? 用了一个 h e i g h t [ i ] = l c p ( s a [ i ] , s a [ i − 1 ] ) height[i]=lcp(sa[i],sa[i-1]) height[i]=lcp(sa[i],sa[i−1]),也就是排名为 i i i的和排名 i − 1 i-1
传送门 这题调的我两眼发黑。。。 首先想 S A M SAM SAM建出来就是反串的后缀树,那么把原串反转一下,求后缀的 l c p lcp lcp就变成了求前缀的最长后缀,在 S A M SAM SAM上就是两个代表节点 l c a lca lca的 l e n len len,用这些关键点和他们的 l c a lca lca建出虚树,然后在虚树上跑,设 s i z a [ u ] , s