BZOJ4319: cerc2008 Suffix reconstruction Suffix Array 的理解
来源: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 的理解相关推荐
- bzoj 4319: cerc2008 Suffix reconstruction(构造)
4319: cerc2008 Suffix reconstruction Time Limit: 10 Sec Memory Limit: 128 MBSec Special Judge Subm ...
- [BZOJ4319][cerc2008]Suffix reconstruction(贪心)
=== === 这里放传送门 === === 题解 这题发题解的时候纠结了半天挂什么tag..后缀数组?这哪里用后缀数组了..暴力?感觉好敷衍..最后还是决定挂上贪心的tag好了... ATP一开始看 ...
- bzoj 4319 cerc2008 Suffix reconstruction——贪心构造
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4319 如果字符集有 5e5 那么大的话,挨个填上去就行了.但只有26个字符,所以要贪心地尽量 ...
- js array 的理解
array 可以模拟栈和队列的数据结构 pop()(删除最后一项并返回)push()(插入数据到最后一项)可以实现先进先出的栈数据结构 unshift() 方法可向数组的开头添加一个或更多元素,并返回 ...
- suffix tree
文章出处:http://www.cnblogs.com/snowberg/archive/2011/10/21/2468588.html 3 What is a Suffix Tree Suffi ...
- 理解 typed array
我们知道在C语言中,可以使用malloc和free方法来分配和释放内存.随着web的发展中,js在ES6中新增了内存操作的支持.其实现方式就是---typed array. typed array是个 ...
- 深入理解 SpringBoot 原理
官网:Spring Boot 文章目录 1.SpringBoot简介 回顾Spring Spring简化Java开发 什么是SpringBoot SpringBoot的大时代背景 2.HelloWor ...
- 用 Go 语言理解 Tensorflow
原文:https://pgaleone.eu/tensorflow/go/2017/05/29/understanding-tensorflow-using-go/ Tensorflow 并不是一个严 ...
- 一点就分享系列(理解篇_4+实践篇_2)”干货-全网最简且全”的理解!2020年了!您只知道GAN?ECCV超分论文“IRN” 全家桶大放送!!
一点就分享系列(理解篇_4+实践篇_2)"最新干货"--2020 ECCV 超分论文之一"IRN"(更新中..) 最近开始了csdn坚持原创之旅,目前到了理解篇 ...
- 把Array说透(续一)
1. 写在前面的 在前文中,我主要介绍了数组的一些相关知识,希望加深各位对Array的理解,不过,看过Ivony-同学的回复,我发觉自己离说透还有很大的距离,于是就有了下面的文章.在本文中,我也主要来 ...
最新文章
- linux 魔兽 qq
- OpenFace学习(2):FaceNet+SVM匹配人脸
- Type_C工作原理
- Windows8.1系统下让VS2012编译运行IIS Express 64位 调试器
- 陶哲轩实分析习题9.1.1
- struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Jsp页面
- oracle如何把字符集改回默认,更改oracle字符集
- linux结构体数组的定义数组,task_struct结构体中的run_list和array域
- java -1%3_java学习笔记(day23)
- mybatis SqlSessionDaoSupport的使用(附代码下载)(转)
- 迷宫算法总结(总路径数、方法数)
- 神经网络软件有哪些,神经网络分析软件
- IT 工作中常用的英语单词
- 我怎么就沦落到听新裤子的地步了呢?
- 精伦身份证阅读器php_华视CVR-100身份证阅读器BS开发包
- VUE Element-ui 图标加载失败问题 Failed to decode downloaded font : woff ttf
- 关于NB-IOT模块链接阿里物联网平台的学习笔记-记录
- 英伟达 NVIDIA-Tesla-P40 GPU 直透
- linux prom命令解释,eeprom 执行boot PROM命令
- 一条宽带多人共享违法?