Problem Statement

You are given a string s. Among the different substrings of s, print the K-th lexicographically smallest one.

A substring of s is a string obtained by taking out a non-empty contiguous part in s. For example, if s = ababcabab and ababc are substrings of s, while acz and an empty string are not. Also, we say that substrings are different when they are different as strings.

Let X=x1x2xn and Y=y1y2ym be two distinct strings. X is lexicographically larger than Y if and only if Y is a prefix of X or xj>yj where j is the smallest integer such that xjyj.

Constraints

  • 1  |s|  5000
  • s consists of lowercase English letters.
  • 1  K  5
  • s has at least K different substrings.

Partial Score

  • 200 points will be awarded as a partial score for passing the test set satisfying |s|  50.

Input

Input is given from Standard Input in the following format:

s
K

Output

Print the K-th lexicographically smallest substring of K.

Sample Input 1

aba
4

Sample Output 1

b

s has five substrings: ababba and aba. Among them, we should print the fourth smallest one, b. Note that we do not count a twice.

Sample Input 2

atcoderandatcodeer
5

Sample Output 2

andat

Sample Input 3

z
1

Sample Output 3

z

    一看这种题第一反应:裸上SAM啊!
但是一看数据范围:艹这是连SAM都不用的傻逼题了。
因为字典序第K小肯定不会超过K位,所以直接暴力+去重就可以做了QWQ
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=5005;
string ch[maxn*6];
char s[maxn];
int n,k,cnt;
int main(){
scanf("%s%d",s,&k),n=strlen(s);
for(int i=0,T;i<n;i++){
ch[++cnt]=s[i];
T=min(k,n-i);
for(int j=1;j<T;j++,cnt++) ch[cnt+1]=ch[cnt]+s[i+j];
} sort(ch+1,ch+cnt+1);
unique(ch+1,ch+cnt+1);
cout<<ch[k]<<endl;
return 0;
}

  

 

最新文章

  1. 2、python,for..in语句
  2. OD使用教程
  3. 关于/etc/rc.local以及/etc/init.d
  4. AC自动机模板
  5. NOIP-2003 加分二叉树
  6. 编译direct show 的filter项目
  7. poj 2226 Muddy Fields(最小点覆盖+巧妙构图)
  8. Linux 分区初始化为物理卷,把物理卷加入卷组
  9. Java的23种设计模式
  10. Jmeter之性能测试基础
  11. csrf
  12. 【UR #7】水题走四方
  13. 异常:Caused by: java.sql.SQLException: Field &#39;cust_id&#39; doesn&#39;t have a default value
  14. VC中C++数值范围的确定
  15. Django商城项目笔记No.10用户部分-登录接口
  16. UVA.11427.Expect the Expected(期望)
  17. Zookeeper服务器配置项详解
  18. 使用wireshark分析tcp/ip报文之报文头
  19. jquery实现上线翻滚效果公告
  20. 【JBPM4】EL表达式的使用,实现JAVA与JPDL的交互

热门文章

  1. 【转载】Unity3D研究院之共享材质的巧妙用法(sharedMaterial效率问题)
  2. How to solve SyntaxError on autogenerated manage.py?
  3. springbootday06 mysql
  4. shell sort 排序大讨论
  5. [Codeforces Round #513 by Barcelona Bootcamp (rated, Div. 1 + Div. 2) ](A~E)
  6. Yii2.0 使用createcommand从数据库查询出来的int类型变成了string型
  7. bzoj1264 [AHOI2006]基因匹配Match 树状数组+lcs
  8. js判断对象是否为数组
  9. JSON.stringify与jQuery.parseJSON
  10. 图表绘制工具--Matplotlib 1