脑洞题。。。玄学

假如是a[i]!=i,说明构成了循环节长为a[i]的循环,那就去%一下(别想多)看一下是循环节中的第几个咯。

否则新填的这个不能和前面构成任何循环,那就不停往前跳去把不能填的标记一下,直到找到a[i]==i,说明再也不构成循环了。

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std;
int a[110000];
char ss[110000];
int ti,v[110000];
int main()
{int n;scanf("%d",&n);ti=0;scanf("%d",&a[1]);ss[1]='a';for(int i=2;i<=n;i++){scanf("%d",&a[i]);if(a[i]!=i){ss[i]=ss[((i-1)%a[i])+1];continue;}ti++;int j=i-1;while(a[j]!=j){j=(j-1)%a[j]+1;v[ss[j+1]-'a']=ti;}for(int k=1;k<=25;k++)if(v[k]!=ti){ss[i]='a'+k;break;}}for(int i=1;i<=n;i++)printf("%c",ss[i]);return 0;
}

转载于:https://www.cnblogs.com/AKCqhzdy/p/8455248.html

bzoj4974: [Lydsy1708月赛]字符串大师相关推荐

  1. bzoj-4974 [Lydsy1708月赛]字符串大师

    4974: [Lydsy1708月赛]字符串大师 题目链接 Time Limit: 1 Sec Memory Limit: 256 MB Submit: 721 Solved: 347 [Submit ...

  2. 【bzoj4974】字符串大师 逆模拟KMP

    题目描述 一个串T是S的循环节,当且仅当存在正整数k,使得S是$T^k$(即T重复k次)的前缀,比如abcd是abcdabcdab的循环节.给定一个长度为n的仅由小写字符构成的字符串S,请对于每个k( ...

  3. bzoj4974 字符串大师

    4974: 字符串大师 Time Limit: 1 Sec  Memory Limit: 256 MB Submit: 310  Solved: 155 [Submit][Status][Discus ...

  4. BZOJ 4974: 字符串大师

    一个串T是S的循环节,当且仅当存在正整数k,使得S是T^k(即T重复k次)的前缀,比如abcd是abcdabcdab的循环节 .给定一个长度为n的仅由小写字符构成的字符串S,请对于每个k(1<= ...

  5. BZOJ4976: [Lydsy1708月赛]宝石镶嵌

    BZOJ4976: [Lydsy1708月赛]宝石镶嵌 https://lydsy.com/JudgeOnline/problem.php?id=4976 分析: 本来是从\(k\le 100\)这里 ...

  6. BZOJ4974 字符串大师(kmp)

    显然最短循环节长度=i-next[i],则相当于给定next数组构造字符串.然后按照kmp的过程模拟即可.虽然这看起来是一个染色问题,但是由图的特殊性,如果next=0只要贪心地选最小的就可以了,稍微 ...

  7. 8.20模拟赛 [POI2009]WIE-Hexer [Lydsy1708月赛]跳伞求生 51nod 1479 小Y的数论题

    T1 发现 p p p很小,在最短路的基础上再加一维表示一个二进制数,代表当前拥有的剑的种类数,直接用SPFA" role="presentation" style=&q ...

  8. 4976: [Lydsy1708月赛]宝石镶嵌 dp

    Description 魔法师小Q拥有n个宝石,每个宝石的魔力依次为w_1,w_2,-,w_n.他想把这些宝石镶嵌到自己的法杖上,来提升 法杖的威力.不幸的是,小Q的法杖上宝石镶嵌栏太少了,他必须扔掉 ...

  9. 【刷题】BZOJ 4977 [Lydsy1708月赛]跳伞求生

    Description 小Q最近沉迷于<跳伞求生>游戏.他组建了一支由n名玩家(包括他自己)组成的战队,编号依次为1到n.这个游 戏中,每局游戏开始时,所有玩家都会从飞机上跳伞,选择一个目 ...

最新文章

  1. 015_Vue生命周期
  2. python为什么不能自动语法_Python 为什么不支持 i++ 自增语法,不提供 ++ 操作符?...
  3. 修改input的placeholder颜色
  4. jmeter(十三)常见问题及解决方法
  5. 2021-08-04 PYTHON基础——类和对象的代码格式
  6. 计算机什么病毒有远程控制功能,怎样知道自己的电脑已被远程控制
  7. 大数据开发工程师必看书籍
  8. 上传图片为线上图片,可以在线访问
  9. linux core文件调试,Linux程序调试助手–core,解决段错误!
  10. 2018年下半年网络工程师上午真题及答案解析
  11. 机器学习中使用的神经网络(六) --第二课
  12. mysql 字段字符串转int_MySQL数据库面试题(2020最新版)(一)
  13. 懒人的漫画下载工具[基本能用版]
  14. 黄灰色鱼骨流程图图表合集PPT模板
  15. l2正则化python_L1、L2正则化的区别
  16. Spark 调度模式-FIFO和FAIR
  17. android中图片圆角,Android中实现圆角图片的几种方法
  18. Python生成个性二维码详解!
  19. 记录几个可以做出效果炫酷的网站
  20. SECS/HSMS Driver开发使用 支持E5、E37

热门文章

  1. c语言程序求点坐标在哪个象限,C课后习题
  2. 查看linux环境下cudnn是否安装,Linux下安装cuda和对应版本的cudnn
  3. mysql lock not wait_【MySQL】关于MySQL出现lock wait timeout exceeded 的解决方案
  4. ViewPager使用讲解
  5. python︱flashtext高效关键词查找与替换
  6. Java设计模式---模板设计模式
  7. 安装LoadRunner 11时弹窗提示Micosoft Visual C++ 2005 SP1 可再发行组件包(X86):'命令行选项语法错误。键入命令 / ? 可获得帮助信息'。
  8. Python 爬虫的工具列表
  9. 【cocos】无法启动程序“..\proj.win32\Debug.win32\libcocos2d.dll
  10. Windows live Writer的安装配置