传送门

解题思路

  \(T=0\)时就和SP7258一样,\(T=1\)时其实也差不多,只不过要把每个点原来是\(1\)的权值改为\(Right\)集合的大小。

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath> using namespace std;
const int MAXN = 500005; int k,type,cnt,lst,n,T;
int fa[MAXN<<1],ch[MAXN<<1][27],l[MAXN<<1],siz[MAXN<<1];
int c[MAXN<<1],a[MAXN<<1],f[MAXN<<1];
char s[MAXN]; inline void Insert(int c){
int p=lst,np=++cnt;l[np]=l[p]+1;lst=np;
for(;p && !ch[p][c];p=fa[p]) ch[p][c]=np;
if(!p) fa[np]=1;
else {
int q=ch[p][c];
if(l[q]==l[p]+1) fa[np]=q;
else {
int nq=++cnt;l[nq]=l[p]+1;
memcpy(ch[nq],ch[q],sizeof(ch[q]));
fa[nq]=fa[q];fa[q]=fa[np]=nq;
for(;ch[p][c]==q;p=fa[p]) ch[p][c]=nq;
}
}
siz[np]=1;
} inline void query(int x){
int p=1;
while(x){
for(int i=1;i<=26;i++)if(ch[p][i]){
if(f[ch[p][i]]+siz[p]<=x) x-=f[ch[p][i]];
else {p=ch[p][i];putchar('a'+i-1);x-=siz[p];break;}
}
}
} int main(){
scanf("%s%d%d",s+1,&T,&k);cnt=lst=1;n=strlen(s+1);
for(int i=1;i<=n;i++) Insert(s[i]-'a'+1);
for(int i=1;i<=cnt;i++) c[l[i]]++;
for(int i=1;i<=cnt;i++) c[i]+=c[i-1];
for(int i=1;i<=cnt;i++) a[c[l[i]]--]=i;
if(T){
for(int i=cnt;i;i--){int p=a[i];siz[fa[p]]+=siz[p];}
}
for(int i=cnt;i;i--){
int p=a[i];if(T) f[p]=siz[p];else f[p]=siz[p]=1;
for(int j=1;j<=26;j++)if(ch[p][j])
f[p]+=f[ch[p][j]];
}
if((n*(n+1)/2<k)) puts("-1");
else query(k);
return 0;
}

最新文章

  1. MST 001
  2. iOS 多快好省的宏定义
  3. NGUI 多场景情况下 管理多个界面
  4. 无限互联IOS电影项目视频笔记
  5. c# 预处理命令
  6. android退出activity的方式总结(一)
  7. 表与表的关系把RD搞乱了,记一个Procedure中的bug
  8. Day3-函数及作用域
  9. function call操作符(operator()) 仿函数(functor)
  10. Java序列化机制原理
  11. 关于UGUI不拦截射线的方法
  12. CART、GradientBoost
  13. FunDA(4)- 数据流内容控制:Stream data element control
  14. Dubbo-Centos7管控台安装
  15. Understanding the Bias-Variance Tradeoff
  16. java 将字符串数组变为字典顺序排序后的字符串数组
  17. Oracle收购Apiary来加强其API集成云
  18. jquery 上传图片自由截取
  19. iOS wkwebview https 加载不受信用的站点
  20. golang 面向对象

热门文章

  1. font-size-adjust属性定义及用法
  2. Java虚拟机解析篇之---垃圾回收器
  3. VS2014:&quot;64位调试操作花费的时间比预期要长&quot;,无法运行调试解决办法
  4. [STemWin教程入门篇] 第一期:emWin介绍
  5. 实验吧关于隐写术的writeUp(二)
  6. (1.3)学习笔记之mysql体系结构(C/S整体架构、内存结构、物理存储结构、逻辑结构)
  7. Python科学计算:用NumPy快速处理数据
  8. linux下vnstat查看服务器带宽流量统计
  9. [轉]udp_sendmsg空指针漏洞分析 by wzt
  10. Python值正则表达式(RE)