POJ 3476 首先写了个treap,然后常数太大tle了... 然后想了个极为复杂的方法,是一共7个dsu,3个bit,还有一个set.然后写了一半就歇菜了... 然后看dxm的方法,是这样做的: 首先我们用三个并查集分别维护以下信息:每一个位置左边第一个没被删掉的,右边第一个没被删掉的,它所在的相同字符子串的第一个位置. 然后我们还需要维护所有的相同字符子串的起始位置和长度,放在一个优先队列里面,为了取最大值. 然后还要存从第i位开始的那个相同字符子串的长度. 那么我们每次从优先队列中取出…