来源:http://blog.csdn.net/GEOTCBRL/article/details/49664947

本来是一点思路都没有的    可能是因为不怎么用Suffix Array  吧   一般都是用Suffix Automaton的。。

如果这一题自己做的话是可以加深对后缀数组的理解的。。。。

那我就直接厚脸皮的套别人结论了。。。

考虑sa的计算方式,然后贪心。 
如果当前sa的下一位的rank大于下个sa的下一位的rank,那么下一位sa的字母应该比当前大,否则相同。

恩仔细想想是对的(误

#include<cstdio>
using namespace std;char c;
inline void read(int &a)
{a=0;do c=getchar();while( c<'0'||c>'9');while(c<='9'&&c>='0')a=(a<<3)+(a<<1)+c-'0',c=getchar();
}
int n;
char ans[1000001];
int sa[1000001],rank[1000001];
int main()
{int i,j,k;read(n);for(i=1;i<=n;i++){read(sa[i]);if(rank[sa[i]])goto error;rank[sa[i]]=i;}char t;ans[sa[1]]=t='a';for(i=2;i<=n;i++){if(rank[sa[i-1]+1]>rank[sa[i]+1])ans[sa[i]]=++t;elseans[sa[i]]=t;if(ans[sa[i]]>'z')goto error;}for(i=1;i<=n;i++)putchar(ans[i]);goto ok;error:printf("-1");return 0;ok:return 0;
}

那就是贪心了。。。。

BZOJ4319: cerc2008 Suffix reconstruction Suffix Array 的理解相关推荐

  1. bzoj 4319: cerc2008 Suffix reconstruction(构造)

    4319: cerc2008 Suffix reconstruction Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special Judge Subm ...

  2. [BZOJ4319][cerc2008]Suffix reconstruction(贪心)

    === === 这里放传送门 === === 题解 这题发题解的时候纠结了半天挂什么tag..后缀数组?这哪里用后缀数组了..暴力?感觉好敷衍..最后还是决定挂上贪心的tag好了... ATP一开始看 ...

  3. bzoj 4319 cerc2008 Suffix reconstruction——贪心构造

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4319 如果字符集有 5e5 那么大的话,挨个填上去就行了.但只有26个字符,所以要贪心地尽量 ...

  4. js array 的理解

    array 可以模拟栈和队列的数据结构 pop()(删除最后一项并返回)push()(插入数据到最后一项)可以实现先进先出的栈数据结构 unshift() 方法可向数组的开头添加一个或更多元素,并返回 ...

  5. suffix tree

    文章出处:http://www.cnblogs.com/snowberg/archive/2011/10/21/2468588.html 3   What is a Suffix Tree Suffi ...

  6. 理解 typed array

    我们知道在C语言中,可以使用malloc和free方法来分配和释放内存.随着web的发展中,js在ES6中新增了内存操作的支持.其实现方式就是---typed array. typed array是个 ...

  7. 深入理解 SpringBoot 原理

    官网:Spring Boot 文章目录 1.SpringBoot简介 回顾Spring Spring简化Java开发 什么是SpringBoot SpringBoot的大时代背景 2.HelloWor ...

  8. 用 Go 语言理解 Tensorflow

    原文:https://pgaleone.eu/tensorflow/go/2017/05/29/understanding-tensorflow-using-go/ Tensorflow 并不是一个严 ...

  9. 一点就分享系列(理解篇_4+实践篇_2)”干货-全网最简且全”的理解!2020年了!您只知道GAN?ECCV超分论文“IRN” 全家桶大放送!!

    一点就分享系列(理解篇_4+实践篇_2)"最新干货"--2020 ECCV 超分论文之一"IRN"(更新中..) 最近开始了csdn坚持原创之旅,目前到了理解篇 ...

  10. 把Array说透(续一)

    1. 写在前面的 在前文中,我主要介绍了数组的一些相关知识,希望加深各位对Array的理解,不过,看过Ivony-同学的回复,我发觉自己离说透还有很大的距离,于是就有了下面的文章.在本文中,我也主要来 ...

最新文章

  1. linux 魔兽 qq
  2. OpenFace学习(2):FaceNet+SVM匹配人脸
  3. Type_C工作原理
  4. Windows8.1系统下让VS2012编译运行IIS Express 64位 调试器
  5. 陶哲轩实分析习题9.1.1
  6. struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Jsp页面
  7. oracle如何把字符集改回默认,更改oracle字符集
  8. linux结构体数组的定义数组,task_struct结构体中的run_list和array域
  9. java -1%3_java学习笔记(day23)
  10. mybatis SqlSessionDaoSupport的使用(附代码下载)(转)
  11. 迷宫算法总结(总路径数、方法数)
  12. 神经网络软件有哪些,神经网络分析软件
  13. IT 工作中常用的英语单词
  14. 我怎么就沦落到听新裤子的地步了呢?
  15. 精伦身份证阅读器php_华视CVR-100身份证阅读器BS开发包
  16. VUE Element-ui 图标加载失败问题 Failed to decode downloaded font : woff ttf
  17. 关于NB-IOT模块链接阿里物联网平台的学习笔记-记录
  18. 英伟达 NVIDIA-Tesla-P40 GPU 直透
  19. linux prom命令解释,eeprom 执行boot PROM命令
  20. 一条宽带多人共享违法?

热门文章

  1. 参与百度世界2012 赢百度APP推广大礼包
  2. C语言指针用法完善篇
  3. Mybatis OGNL表达式报错
  4. Excel中输入身份证号后三位变成0的情况处理如下
  5. OVM虚拟化,做Openstack的减法
  6. [re入门]IDA和OD的基本使用(持续更新)
  7. 基站位置查询系统_Android获取手机基站位置并进行基站定位的原理
  8. mib浏览器_大众汽车的第二代MIB信息娱乐系统图解
  9. 1183 电力(点的双连通分量--求解割点)
  10. Latex IEEEtran第一次总结