题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4319 如果字符集有 5e5 那么大的话,挨个填上去就行了.但只有26个字符,所以要贪心地尽量填和上一次一样的字符. 按 sa[ ] 的顺序从小到大填字符,判断这个位置 x 能否填上一次在 y 填的字符的条件就是 rk[ x+1 ] > rk[ y+1 ]. 因为 x 的字典序比 y 大,而 x 位置要填和 y 一样的字符,所以 x 的后面应该比 y 大.发现后面部分也是两个后缀,所以利用“…
如果字符集无限大的话直接按照 $sa$ 的顺序依次填即可. 由于字符集非常小,所以要尽量填相同的字符. 我们知道 $sa$ 数组,也就知道了 $rank$ 数组. 那么考虑添加排名为 $i$ 的字符: 如果 $rank[sa[i-1]+1]>rank[sa[i]+1]$,说明 $sa[i]$ 的字典序必须比 $sa[i-1]$ 的字典序大,新建字符. 否则,就不用新建字符. 这么做下去即可. code: #include <bits/stdc++.h> #define N 503000…
题目链接 \(Description\) 给定SA数组,求满足SA[]的一个原字符串(每个字符为小写字母),无解输出-1. \(Solution\) 假设我们现在有suf(SA[j]),要构造suf(SA[i]) (要满足i>j) 考虑后缀的比较方式,先比较第一位,再比较suf(SA[i]+1)与suf(SA[j]+1) 若suf(SA[i]+1)>suf(SA[j]+1),则两字符串第一位可以相同:否则一定要在第一位满足suf(SA[i])>suf(SA[j]) 按照这种方式构造,就能…
题面 Description 话说练习后缀数组时,小C 刷遍 poj 后缀数组题, 各类字符串题闻之丧胆.就在准备对敌方武将发出连环杀时,对方一记无中生有,又一招顺 手牵羊,小C 程序中的原字符数组就被牵走了.幸运的是,小C 早已经求出了 SA[],为了 能东山再起,迅速 A 掉此题,他希望各位忠臣们能帮忙求出一组原字符数组的可行方案.已 知原字符数组由小写拉丁字母组成.且小C的SA[]也是有可能求错的, 原数组可能不存在. Input 输入文件只有一行且为用空格隔开的一个正整数 N. 接下来一…
题目描述 话说练习后缀数组时,小C 刷遍 poj 后缀数组题, 各类字符串题闻之丧胆.就在准备对敌方武将发出连环杀时,对方一记无中生有,又一招顺手牵羊,小C 程序中的原字符数组就被牵走了.幸运的是,小C 早已经求出了 SA[],为了能东山再起,迅速 A 掉此题,他希望各位忠臣们能帮忙求出一组原字符数组的可行方案.已知原字符数组由小写拉丁字母组成.且小C的SA[]也是有可能求错的, 原数组可能不存在.  输入 输入文件只有一行且为用空格隔开的一个正整数 N.  接下来一行有 N 个数,为 1~N…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4319 思维还是不行...这样的构造都没思路... 首先,我们可以按 rank 的顺序从小到大填字母,不能填了就是无解: 为了能让后面有字母可填,现在填的字母就要尽可能小: 考虑排名为 i 的后缀首字母能否和排名 i-1 的后缀首字母一样,发现只要判断去掉这个字母后能否满足即可,因为我们先保证后面都可以填成满足排名的形式: 所以,如果下一个位置大小关系是 rk[sa[i]+1] < rk[s…
原文链接http://www.cnblogs.com/zhouzhendong/p/9016336.html 题目传送门 - BZOJ4319 题意 给出一个$1,2,\cdots,n$的排列,第$i$项表示$SA[i]$. 让你构造一个只含有小写字母的字符串,使其$SA$数组为输入的值.或者输出无解. $n\leq 5\times  10^5$ 题解 首先,我们预处理出所有的$rank[i]$. 然后我们枚举$i$. 考虑给第$SA[i]$个位置插入字符. 给$SA[i]$处插入的字符必然不小…
题目大意 给定后缀数组sa,要求构造出满足sa数组的字符串.或输出无解\(n\leq 5*10^5\) 题解 我们按照字典序来考虑每个后缀 对于\(Suffix(sa[i])\)和\(Suffix(sa[i-1])\) 我们一定知道\(Suffix(sa[i-1])<Suffix(sa[i])\). 如果我们有\(Suffix(sa[i-1]+1)<Suffix(sa[i]+1)\) 那么\(sa[i]\)和\(sa[i-1]\)两个位置上的字符相等时也满足条件 那么从贪心的角度来讲我们就让\…
Description 话说练习后缀数组时,小C 刷遍 poj 后缀数组题. 各类字符串题闻之丧胆.就在准备对敌方武将发出连环杀时,对方一记无中生有,又一招顺 手牵羊.小C 程序中的原字符数组就被牵走了.幸运的是.小C 早已经求出了 SA[],为了 能东山再起,迅速 A 掉此题,他希望各位忠臣们能帮忙求出一组原字符数组的可行方案. 已 知原字符数组由小写拉丁字母组成. 且小C的SA[]也是有可能求错的. 原数组可能不存在. Input 输入文件仅仅有一行且为用空格隔开的一个正整数 N. 接下来一…
同样是今天做bzoj时做到的,感觉能力范围之内的就做了,也是蛮简单的 1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1876 Solved: 993 [Submit][Status][Discuss] Description 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂.每一场比赛前,对阵双…