输入给出了最小循环节长度,暗示next数组。

然后自己按照自己的kmp板子逆着来一遍就好。

 const int maxn = 1e5 + ;
int n, a, Next[maxn];
char str[maxn];
bool mark[]; int main() {
read(n);
rep(i, , n) {
read(a);
Next[i] = i - a;
}
str[] = 'a';
for (int i = , j = ; i <= n; j = Next[i++]) {
if (Next[i] == j + ) {
str[i] = str[j + ];
} else {
init(mark, );
do {
mark[str[j + ] - 'a'] = true;
if (!j) break;
j = Next[j];
} while (Next[i] != j + );
rep(k, , ) if (!mark[k]) {
str[i] = 'a' + k;
break;
}
}
}
printf("%s\n", str + );
return ;
}

最新文章

  1. c#向数据库插入较大数据(SqlBulkCopy)
  2. dynamic与匿名对象
  3. EX14 彩票中奖 (lottery.pas/c/cpp)
  4. uva 1572 self-assembly ——yhx
  5. HTML5特性检測
  6. java.util.List 的大小
  7. Unity属性(Attributes)
  8. Got permission denied while trying to connect to the Docker daemon socket at
  9. 解决python logging重复写日志问题
  10. vue中使用localstorage
  11. (转)yuicompressor 与 maven结合,打包,压缩js,css (一)
  12. 关于Base64编码的理解
  13. ACM-ICPC 2018 焦作赛区网络预赛G Give Candies(隔板定理 + 小费马定理 + 大数取模,组合数求和)题解
  14. 【Oracle 12c】最新CUUG OCP-071考试题库(54题)
  15. (一)Quartz2.2.1 简单例子
  16. Delphi XE8 TStyleBook的使用
  17. CC3200在sl_Start函数处不断重启复位的原因解析
  18. lua调试小技巧
  19. PAT 乙级 1013
  20. iOS开发工具篇-AppStore统计工具

热门文章

  1. Raspberry Pi For Windows
  2. java的nio包的SelectionKey,Selector,SelectableChannel三者的缠绵关系概述
  3. poj 3017 Cut the Sequence(单调队列优化DP)
  4. 获取浏览器屏幕高度(js,jq)
  5. ActiveMQ P2P模型 观察者消费
  6. vim使用手册出现 找到 tag:1/9或更多 查看别的定义的方法
  7. webpack 的编译原理
  8. Python之如果添加扩展包
  9. oracle自动统计信息
  10. LA-3716(sort的神用)