传送门 代码: 先用特殊字符把所有字符串连接在一起. 然后二分答案将sasasa数组分组. 讨论是否存在一个组满足组内对于每一个字符串都存在两段不相交字串满足条件. #include<bits/stdc++.h> #define ri register int using namespace std; const int N=2e5+5; int n,m,rk[N],ht[N],sa[N],sa2[N],len[N],st[N][18],Log[N],T_T,tt,mx[N],mn[N],id…
引用罗穗骞论文中的话: 先将n 个字符串连起来,中间用不相同的且没有出现在字符串中的字符隔开,求后缀数组.然后二分答案,再将后缀分组.判断的时候,要看是否有一组后缀在每个原来的字符串中至少出现两次,并且在每个原来的字符串中,后缀的起始位置的最大值与最小值之差是否不小于当前答案(判断能否做到不重叠,如果题目中没有不重叠的要求,那么不用做此判断).这个做法的时间复杂度为O(nlogn). 二分枚举长度,对每个长度遍历height[]数组,将height[]数组分块,每个块内任意两串的lcp均大于等于…
题目链接:https://vjudge.net/problem/SPOJ-PHRASES PHRASES - Relevant Phrases of Annihilation no tags  You are the King of Byteland. Your agents have just intercepted a batch of encrypted enemy messages concerning the date of the planned attack on your isl…
http://www.spoj.com/problems/PHRASES/ 题意:给n个串,求n个串里面都有2个不重叠的最长的字串长度. 思路:二分答案,然后就可以嘿嘿嘿 PS:辣鸡题目毁我青春,一开始二分的时候ans没有赋初值为0,结果没答案的时候就会输出奇怪的数字T_T,其实主要还是怪我不小心.. #include<cstdio> #include<iostream> #include<cmath> #include<cstring> #include&…
[题目链接] http://www.spoj.pl/problems/PHRASES/ [题目大意] 求在每个字符串中出现至少两次的最长的子串 [题解] 注意到这么几个关键点:最长,至少两次,每个字符串. 首先对于最长这个条件,我们可以想到二分答案, 然后利用后缀数组所求得的三个数组判断是否满足条件. 其次是出现两次,每次出现这个条件的时候, 我们就应该要想到这是最大值最小值可以处理的, 将出现在同一个字符串中的每个相同字符串的起始位置保存下来, 如果最小值和最大值的差距超过二分长度L,则表明在…
传送门 双倍经验(弱化版本) 考虑求出来heightheightheight数组之后用增量法. 也就是考虑每增加一个heightheightheight对答案产生的贡献. 算出来是∑∣S∣−heighti+1−sai\sum|S|-height_i+1-sa_i∑∣S∣−heighti​+1−sai​ 代码: #include<bits/stdc++.h> #define ri register int using namespace std; const int N=5e4+5; int n…
K - Relevant Phrases of Annihilation 题目大意:给你 n 个串,问你最长的在每个字符串中出现两次且不重叠的子串的长度. 思路:二分长度,然后将height分块,看是否存在一个块里面 每个串都符合条件. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define pii pair<int, int&…
多个字符串的相关问题 这类问题的一个常用做法是,先将所有的字符串连接起来, 然后求后缀数组 和 height 数组,再利用 height 数组进行求解. 这中间可能需要二分答案. POJ - 3294 题意: 给出n个串,求至少出现在n/2+1个串中的最长公共子串 题解: (摘自罗穗骞的国家集训队论文): 将 n 个字符串连起来,中间用不相同的且没有出现在字符串中的字符隔开, 求后缀数组. 然后二分答案,用和LCP将后缀分成若干组,判断每组的后缀是否出现在不小于 k 个的原串中. 这个做法的时间…
传送门:SPOJ - PHRASES(后缀数组+二分) 题意:给你n个字符串,找出一个最长的子串,他必须在每次字符串中都出现至少两次. 题解:被自己蠢哭...记录一下自己憨憨的操作,还一度质疑评测鸡(哭... 首先是多个字符串的常规操作(目前写的题少,见到的都是这样)连成一个字符串,中间用不同的且没出现过的字符隔开.然后后缀数组求出sa数组和height数组,二分子串长度,用mx数组记录该串中的这个子串的起点最大值,mi数组记录最小值,如果所有串中的mx-mi都>=k说明这个长度可以. 1 #i…
http://www.spoj.com/problems/PHRASES/ 求出后缀数组然后二分. 因为有多组数据,所以倍增求后缀数组时要特判是否越界. 二分答案时的判断要注意优化! 时间复杂度\(O(TnL\log L)\),L为字符串总长度. #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N = 100103; int t1[N <&l…
题意: 给\(n\)个串,要你求出一个最长子串\(A\),\(A\)在每个字串至少都出现\(2\)次且不覆盖,问\(A\)最长长度是多少 思路: 后缀数组处理完之后,二分这个长度,可以\(O(n)\)验证可行性,注意是"不覆盖"(英文不好看不懂),随便搞一下就好了. 代码: #include<map> #include<set> #include<queue> #include<cmath> #include<stack> #…
题意: n<=10,len<=1e4 思路: #include<cstdio> #include<cstring> #include<string> #include<cmath> #include<iostream> #include<algorithm> #include<map> #include<set> #include<queue> #include<vector>…
成功完成3连T!   嗯没错,三道TLE简直爽到不行,于是滚去看是不是模版出问题了..拿了3份其他P党的模版扔上去,嗯继续TLE...蒟蒻表示无能为力了... 思路像论文里面说的,依旧二分长度然后分组...然后记录下每个字符的最大和最小值去判断是否满足全部成立...完事...写起来其实蛮简单的... ; var h,sum,rank,x,y,sa,c,lx,rx,col:..maxn] of longint; n,k,maxlen,t,q:longint; s:ansistring; funct…
#用列表生成式创建[1x1, 2x2, 3x3, ..., 10x10] print([x*x for x in range(1,11)]) #用列表生成式创建[2x2, 4x4,,6×6,..., 10x10] print([x*x for x in range(1,11) if x%2 == 0])  #用随机数字生成一个list,并把这个数字list转换成字符串listimport random l=[] ram=random.sample(range(1,51),50) for x in…
You are the King of Byteland. Your agents have just intercepted a batch of encrypted enemy messages concerning the date of the planned attack on your island. You immedietaly send for the Bytelandian Cryptographer, but he is currently busy eating popc…
学习资料: 乐乐女神的<unity Shader入门精要>…
传送门 后缀数组入门题. 建立正反两个后缀数组算就行了. 代码: #include<bits/stdc++.h> #define ri register int using namespace std; typedef long long ll; const int N=2e5+5; int n,m,q,sa2[N],Log[N],cnt[N]; ll num[N]; char s[N]; struct SA{ int sa[N],rk[N],ht[N],st[N][21]; inline v…
系统环境变量的问题.解决办法: 1.打开终端.输入open .zshrc 会出现一个可编辑文档, 2.找到# User configuration部分,在下一行添加source ~/.bash_profile,之后保存退出此文档 3.在终端输入 source .zshrc 使之生效.…
[链接]h在这里写链接 [题意]     给你n(n<=10)个字符串.     每个字符串长度最大为1e4;     问你能不能找到一个子串.     使得这个子串,在每个字符串里面都不想交出现了至少两次;     输出子串的最长值. [题解]     后缀数组题;              把n个字符串,通过一个连接符连接在一起.         然后求其后缀数组.     二分子串的长度     子串的长度越长显然就越不可能.         然后在连续的Height里找大于等于二分长度m…
https://blog.csdn.net/StilllFantasy/article/details/84670643 感谢刘凯同学 https://blog.csdn.net/UnKfrozen/article/details/84668287#DVova_and_Trophies_220?tdsourcetag=s_pcqq_aiomsg 感谢董海峥同学 https://www.cnblogs.com/baccano-acmer/p/10049025.html?tdsourcetag=s_…
You are the King of Byteland. Your agents have just intercepted a batch of encrypted enemy messages concerning the date of the planned attack on your island. You immedietaly send for the Bytelandian Cryptographer, but he is currently busy eating popc…
传送门 发现题目要求的就是从下到上的瓶颈路. 画个图出来发现跟去年noipnoipnoip提高组的奶酪差不多. 于是可以二分宽度+并查集检验,或者直接求瓶颈. 代码…
4443: [Scoi2015]小凸玩矩阵 Time Limit: 10 Sec Memory Limit: 128 MB Description 小凸和小方是好朋友,小方给小凸一个N*M(N<=M)的矩阵A,要求小秃从其中选出N个数,其中任意两个数字不能在同一行或同一列,现小凸想知道选出来的N个数中第K大的数字的最小值是多少. Input 第一行给出三个整数N,M,K 接下来N行,每行M个数字,用来描述这个矩阵 Output 如题 Sample Input 3 4 2 1 5 6 6 8 3…
题意: 给出一个字符串,至多将其划分为n部分,每一部分取出字典序最大的子串ci,最小化 最大的ci 先看一个简化版的问题: 给一个串s,再给一个s的子串t,问能否通过将串划分为k个部分,使t成为划分后的s的字典序最大子串   对于这个问题,从串s的最后面开始,一个字符一个字符的向前推 如果当前[l,r]字典序比t大,那么[l+1,r]就要单独成为一段 比较子串字典序大小用二分+哈希 因为我们是一个字符一个字符的向前推的,所以一定是新的l使当前[l,r]字典序比t大 所以如果此时l==r,那么这个…
上一篇:OI生涯回忆录 2017.9.10~2018.11.11 一次逆风而行的成功,是什么都无法代替的 ………… 历经艰难 我还在走着 一 NOIP之后,全机房开始了省选知识的自学. 动态DP,LCT,后缀数组,后缀自动机,多项式 NOIP获得全省第六名好成绩的我, 自以为省队纳入囊中只是时间问题 学习效率并不高效. 12月培训由于自学过 听课效果很好,实际上并没有收获和总结太多. 当时问郭神算法的问题, 他说: “算法不在多,而在于精” 事实证明, 此言得之. 太多的自满,太多的不深刻 太多…
时间:2018.11.21地点:中关村软件园国际会议中心…
时间:2018.11.17地点:北京国华投资大厦…
时间:2018.11.14地点:北京国贸大酒店…
黑盒测试实践--Day6 11.30 今天完成任务情况: 应用设计的场景用例,完成测试用例的编写 完成测试用例在自动化测试工具QTP上的测试 分析测试结果得到缺陷报告 小靳 软件测试 今天主要钻研了qtp的安装.在尝试安装过程中走了不少弯路,刚开始在网上下载破解版qtp10.0,费了九牛二虎之力安装完成,并成功激活.可是,在使用过程中,发现这个版本已经无法正常使用.后来跟小昂交流发现了问题所在,又重新安装了最新版12.51 小尹 观察学习了小组自动化测试测试数据的过程,在测试出现问题的时候和小靳…
2018.11.23 浪在ACM 集训队第六次测试赛 整理人:刘文胜 div 2: A: Jam的计数法 参考博客:[1] 万众 B:数列 参考博客: [1] C:摆花 参考博客: [1] D:文化之旅 参考博客: [1] div3: A: 数字统计 参考博客: [1] 周翔 B:接水问题 参考博客: [1]周翔 C:明明的随机数 参考博客: [1]周翔 D:开心的金明 参考博客: [1] 周翔…