HDU - 2970 Suffix reconstruction】的更多相关文章

Discription Given a text s[1..n] of length n, we create its suffix array by taking all its suffixes: s[1..n], s[2..n],...., s[n..n] and sorting them lexicographically. As a result we get a sorted list of suffixes: s[p(1)..n], s[p(2)..n],..., s[p(n)..…
题目大意 给定后缀数组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]\)两个位置上的字符相等时也满足条件 那么从贪心的角度来讲我们就让\…
原文链接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]$处插入的字符必然不小…
题目链接 \(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]) 按照这种方式构造,就能…
题目: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 大.发现后面部分也是两个后缀,所以利用“…
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4319 [算法] 首先 , 我们可以求出这个字符串的rank数组 按照SA逐位枚举 , 贪心构造 , 即可 时间复杂度 : O(N) [代码] #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef unsigned long long ul…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4319 思维还是不行...这样的构造都没思路... 首先,我们可以按 rank 的顺序从小到大填字母,不能填了就是无解: 为了能让后面有字母可填,现在填的字母就要尽可能小: 考虑排名为 i 的后缀首字母能否和排名 i-1 的后缀首字母一样,发现只要判断去掉这个字母后能否满足即可,因为我们先保证后面都可以填成满足排名的形式: 所以,如果下一个位置大小关系是 rk[sa[i]+1] < rk[s…
题目描述 话说练习后缀数组时,小C 刷遍 poj 后缀数组题, 各类字符串题闻之丧胆.就在准备对敌方武将发出连环杀时,对方一记无中生有,又一招顺手牵羊,小C 程序中的原字符数组就被牵走了.幸运的是,小C 早已经求出了 SA[],为了能东山再起,迅速 A 掉此题,他希望各位忠臣们能帮忙求出一组原字符数组的可行方案.已知原字符数组由小写拉丁字母组成.且小C的SA[]也是有可能求错的, 原数组可能不存在.  输入 输入文件只有一行且为用空格隔开的一个正整数 N.  接下来一行有 N 个数,为 1~N…
Description 话说练习后缀数组时,小C 刷遍 poj 后缀数组题. 各类字符串题闻之丧胆.就在准备对敌方武将发出连环杀时,对方一记无中生有,又一招顺 手牵羊.小C 程序中的原字符数组就被牵走了.幸运的是.小C 早已经求出了 SA[],为了 能东山再起,迅速 A 掉此题,他希望各位忠臣们能帮忙求出一组原字符数组的可行方案. 已 知原字符数组由小写拉丁字母组成. 且小C的SA[]也是有可能求错的. 原数组可能不存在. Input 输入文件仅仅有一行且为用空格隔开的一个正整数 N. 接下来一…
如果字符集无限大的话直接按照 $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 话说练习后缀数组时,小C 刷遍 poj 后缀数组题, 各类字符串题闻之丧胆.就在准备对敌方武将发出连环杀时,对方一记无中生有,又一招顺 手牵羊,小C 程序中的原字符数组就被牵走了.幸运的是,小C 早已经求出了 SA[],为了 能东山再起,迅速 A 掉此题,他希望各位忠臣们能帮忙求出一组原字符数组的可行方案.已 知原字符数组由小写拉丁字母组成.且小C的SA[]也是有可能求错的, 原数组可能不存在. Input 输入文件只有一行且为用空格隔开的一个正整数 N. 接下来一…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
题意:这是bc round 71 div 1 的 1004 直接去看中文题意 分析: 首先,一种合法方案对应了原图的一棵生成树. 我们知道,最小生成树有一个性质是最大边最小. 因此,我们可以枚举生成树的最小边,去掉比该边小的边后对新图求最小生成树,那么我们所要的最优解一定包含在其中. 时间复杂度O(Mlog M+M^2*a (N),显然仅仅这个效率是不够的. 可以发现我们每次枚举后都重新求了最小生成树,事实上这是不必要的. 考虑从大到小枚举生成树的最小边,我们要做的实际上是每次加入一条边,维护当…
这题目测是数据水了.我这种暴力写法显然是可以卡超时的. 假设有2000个点,15000条边,前面10000条不能构成树,后面5000条可以,这种数据显然可以卡超时. #include <stdio.h> #include <algorithm> #include <string.h> #include <queue> #include <stack> #include <map> #include <vector> usi…
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5558 Problem Description Alice wants to send a classified message to Bob. She tries to encrypt the message with her original encryption method. The message is a string S, which consists of Nlowercase let…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5769 [2016多校contest-4] 题意:给定一个字符,还有一个字符串,问这个字符串存在多少个不同的子串并且子串含有给定的字符. 思路:先忽略包含某个字符的问题,只求一个字符串不同的子串个数,根据<<后缀数组——处理字符串的有力工具>>,每个子串一定是某个后缀的前缀, 那么一个字符串不同的子串个数等价于求所有后缀之问的不相同的前缀的个数 .如果所有的后缀按照 suffix(sa[…
Simpsons’ Hidden Talents Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4683    Accepted Submission(s): 1702 Problem Description Homer: Marge, I just figured out a way to discover some of the t…
Simpsons’ Hidden Talents Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6888    Accepted Submission(s): 2461 Problem Description Homer: Marge, I just figured out a way to discover some of the…
HDU 2594 Simpsons’ Hidden Talents(辛普森一家的潜在天赋) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) [Description] [题目描述] Homer: Marge, I just figured out a way to discover some of the talents we weren’t aware we had. Marge:…
hdu题目 poj题目 参考了 罗穗骞的论文<后缀数组——处理字符串的有力工具> 题意:求两个序列的最长公共子串 思路:后缀数组经典题目之一(模版题) //后缀数组sa:将s的n个后缀从小到大排序后将 排序后的后缀的开头位置 顺次放入sa中,则sa[i]储存的是排第i大的后缀的开头位置.简单的记忆就是“排第几的是谁”. //名次数组rank:rank[i]保存的是suffix(i){后缀}在所有后缀中从小到大排列的名次.则 若 sa[i]=j,则 rank[j]=i.简单的记忆就是“你排第几”…
转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并查集======================================[HDU]1213   How Many Tables   基础并查集★1272   小希的迷宫   基础并查集★1325&&poj1308  Is It A Tree?   基础并查集★1856   More i…
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意:给出一个压缩后的串,以及一个模式串,问模式串出现了多少次. http://acm.hdu.edu.cn/showproblem.php?pid=4668 这种压缩形式的话,在去年金华邀请赛中出现过,但是那题的范围不大. 直接展开作多串匹配,暴力AC自动机就行. 但是这题的原串不大,但是展开后会非常大. 可以发现压缩串把原串分为一个个区间,那么…
Problem Description Homer: Marge, I just figured out a way to discover some of the talents we weren’t aware we had.Marge: Yeah, what is it?Homer: Take me for example. I want to find out if I have a talent in politics, OK?Marge: OK.Homer: So I take so…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5635 LCP Array Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 282    Accepted Submission(s): 79 Problem Description Peter has a string s=s1s2..…
Bus System Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5190    Accepted Submission(s): 1275 [题目链接]http://acm.hdu.edu.cn/showproblem.php?pid=1690 [解题思路]SPFA求最短路径问题,将每个站之间的距离转化为相应的价格从而建立两站点相连的…
http://acm.hdu.edu.cn/showproblem.php?pid=2970 P个小朋友喜欢猫讨厌狗,喜欢狗讨厌猫,移除一定数量的猫狗,使开心的小朋友数量最多 二分图最大独立集=顶点数-二分图最大匹配 对喜好冲突的小朋友连边,因为对小朋友建图拆了点,求出的最大匹配要除以2 和hdu 1068是一个意思 二分图最大独立集和最大匹配的含义在题目中是相反的,比如这道题要求开心的小朋友的最大独立集,二分图建图的时候就要用不开心的小朋友组合连边,这类题目一定是给出冲突的关系,才可以去求解…
http://acm.hdu.edu.cn/showproblem.php?pid=2594 Simpsons’ Hidden Talents Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4756    Accepted Submission(s): 1732 Problem Description Homer: Marge, I j…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1058 Humble Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 29253    Accepted Submission(s): 12809 Problem Description A number whose only…
Humble Numbers Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 1058 Description A number whose only prime factors are 2,3,5 or 7 is called a humble number. The sequence 1, 2, 3, 4, 5, 6, 7, 8, 9…
A Secret Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 256000/256000 K (Java/Others) Total Submission(s): 2523    Accepted Submission(s): 934 Problem Description Today is the birthday of SF,so VS gives two strings S1,S2 to SF as a present,w…