此题太妙了……
考虑给定的序列\(a_i\),\(i\)表示 以\(a_i\)后面那个数为开头的后缀的排名
其实这是求后缀数组中用到的\(rank\)数组
如果我们知道 以\(a_i\)为开头的后缀的排名,就可以知道答案
考虑字符串是怎么排序的,先比第一位,再比下一位
也就是以\(a_i\)为第一关键字,\(i\)为第二关键字排序(考虑i的意义)
然后就好了
示例程序:
1 |
|
此题太妙了……
考虑给定的序列\(a_i\),\(i\)表示 以\(a_i\)后面那个数为开头的后缀的排名
其实这是求后缀数组中用到的\(rank\)数组
如果我们知道 以\(a_i\)为开头的后缀的排名,就可以知道答案
考虑字符串是怎么排序的,先比第一位,再比下一位
也就是以\(a_i\)为第一关键字,\(i\)为第二关键字排序(考虑i的意义)
然后就好了
示例程序:
1 |
|