Description

很久很久以前,森林里住着一群跳蚤。一天,跳蚤国王得到了一个神秘的字符串,它想进行研究。首先,他会把串
分成不超过 k 个子串,然后对于每个子串 S,他会从S的所有子串中选择字典序最大的那一个,并在选出来的 k
个子串中选择字典序最大的那一个。他称其为“魔力串”。现在他想找一个最优的分法让“魔力串”字典序最大。

Input

第一行一个整数 k,K<=15
接下来一个长度不超过 10^5 的字符串 S。

Output

输出一行,表示字典序最大的“魔力串”。

Sample Input

2
ababa

Sample Output

ba
//解释:
分成aba和ba两个串,其中字典序最大的子串为ba
题意:分成最多k段 取出每段里字典序最大的子串
再把这取出的所有子串中选一个字典序最大的 求整个串字典序最大的最小
首先二分 二分我答案是字典序第几小的串 (不重复中第k小
然后找到这个第k小的在哪里  贪心的针对全局构造 使得不存在构造之后出现比我大的子串 如果满足说明二分的正确缩小范围  因为显然字典序越靠后的 越容易满足答案
如何找第k小的 需要在排好序的后缀从前往后扫 即可
如何贪心 如果发现我当前这个长度区间比我第k小要大 那么就想办法把我的首字母切掉,如果首字母比较大说明第k小 不符合答案

 

分类: 二分后缀数组

elijahqi

辣鸡蒟蒻一枚qwq 欢迎加qq qwq 2922945330

发表评论