题意: 对于一个给定的长度为n的字符串,求出它的第k小子串. 有参数t,t为0则表示不同位置的相同子串算作一个,t为1则表示不同位置的相同子串算作多个. 题解: 首先,因为t的原因,后缀数组较难实现,这里不讨论. 使用后缀自动机: 因为,这里需要按字典序考虑子串,所以要使用trs指针. 首先,计算出每个子串的贡献:t=0则为1,t=1则为出现次数. 然后,通过记搜算出匹配到每个点之后可以形成多少贡献.因为使用trs,无需考虑压缩. 最后,在每个节点处找到唯一一个应当向下计算的点,循环直到找到解.…