当前位置: 首页 > news >正文

那些网站是静态/今日特大军事新闻

那些网站是静态,今日特大军事新闻,购物网站页面设计思路,小程序开发模板源码题目大意:求一个字符串的第$k$大字串,$t$表示长得一样位置不同的字串是否算多个 题解:$SAM$,先求出每个位置可以到达多少个字串($Right$数组),然后在转移图上$DP$,若$t1$&#xff0c…

题目大意:求一个字符串的第$k$大字串,$t$表示长得一样位置不同的字串是否算多个

题解:$SAM$,先求出每个位置可以到达多少个字串($Right$数组),然后在转移图上$DP$,若$t=1$,初始值赋成$Right$数组大小,否则赋成$1$

卡点:

 

C++ Code:

#include <algorithm>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#define maxn 500010int n, t, k;
namespace SAM {
#define N (maxn << 1)int R[N], nxt[N][26], fail[N];int lst = 1, idx = 1, sz[N];void append(char __ch) {int ch = __ch - 'a';int p = lst, np = lst = ++idx; R[np] = R[p] + 1, sz[np] = 1;for (; p && !nxt[p][ch]; p = fail[p]) nxt[p][ch] = np;if (!p) fail[np] = 1;else {int q = nxt[p][ch];if (R[p] + 1 == R[q]) fail[np] = q;else {int nq = ++idx;fail[nq] = fail[q], R[nq] = R[p] + 1, fail[q] = fail[np] = nq;std::copy(nxt[q], nxt[q] + 26, nxt[nq]);for (; p && nxt[p][ch] == q; p = fail[p]) nxt[p][ch] = nq;}}}int sum[N];int buc[N], rnk[N];void make() {for (int i = 1; i <= idx; i++) ++buc[R[i]];for (int i = 1; i <= idx; i++) buc[i] += buc[i - 1];for (int i = idx; i; i--) rnk[buc[R[i]]--] = i;for (int i = idx; i; i--) {int u = rnk[i];sz[fail[u]] += sz[u];if (!t && u != 1) sz[u] = 1;sum[u] = sz[u];for (int j = 0; j < 26; j++) sum[u] += sum[nxt[u][j]];}}void print(int u) {if (k <= sz[u]) {putchar('\n');exit(0);}k -= sz[u];for (int i = 0; i < 26; i++) {int v = nxt[u][i];if (sum[v] >= k) putchar(i + 'a'), print(v);else k -= sum[v];}}void work() {make();if (sum[1] < k) {puts("-1");exit(0);}sz[1] = 0;print(1);putchar('\n');}
#undef N
}char s[maxn];
int main() {scanf("%s", s); n = strlen(s);for (int i = 0; i < n; i++) SAM::append(s[i]);scanf("%d%d", &t, &k);SAM::work();return 0;
}

  

转载于:https://www.cnblogs.com/Memory-of-winter/p/10163407.html

http://www.jmfq.cn/news/4880881.html

相关文章:

  • 建设网站包维护/百度权重1
  • 知名网站域名/班级优化大师怎么下载
  • 上海地区网站建设/app注册推广任务平台
  • 免费网站模板的制作方法/最好的免费信息发布平台
  • 湘潭网站建设 就问磐石网络专业/百度的营销中心上班怎么样
  • 福建龙岩网站制作公司/谷歌推广怎么做
  • 源代码做网站/长沙有实力seo优化公司
  • 福建省分行建设银行网站/外贸seo优化公司
  • 中投建设官方网站/怎么申请自己的网络平台
  • 做广告公司网站建设/seo搜索引擎优化总结报告
  • w3c网站怎么做/江苏seo
  • 济南市网站建设/成都排名seo公司
  • 电脑培训班的课程/手机网站优化排名
  • 天津河西做网站公司/百度官网app下载安装
  • 大良营销网站建设平台/西安疫情最新消息
  • 北京高端网站建设费用/运营推广计划
  • 太原网站建设全包/夫唯老师seo
  • cms高端建站/最近一周国内热点新闻
  • 阿里巴巴国际网站官网入口/百度人工服务热线
  • 公安备案交互式网站/网络推广计划方案
  • 长春做商业平台网站/中山做网站推广公司
  • 如何在企业版社保网站做增员/旺道seo推广有用吗
  • 国美网站建设特点/百度关键词排名qq
  • 怎么用wordpress做网站/广州seo报价
  • 吉林省住房建设厅网站/广州百度关键词排名
  • 公众号的微网站怎么做/企业网站推广有哪些方式
  • 网站做301跳转的作用/5118关键词挖掘工具
  • php商城网站开发报告/怎么建立网站平台
  • 想在意大利做购物网站/网址安全检测中心
  • 如何自建外贸网站/百度小程序优化排名