[SNOI2019]字符串】的更多相关文章

[LOJ#3095][SNOI2019]字符串(后缀数组) 题面 LOJ 题解 首先画图看看如何比较两个串的大小,发现这个东西等价于求两个相邻的后缀的\(LCP\). 一个做法是求出\(SA\),然后就可以很容易的判断两个位置的大小了. 然而实际上相邻两个后缀的\(LCP\)转移可以很容易的从前一个得到,所以这部分的复杂度不会超过\(O(n)\). 那么复杂度瓶颈就在排序了,时间复杂度\(O(nlogn)\). #include<iostream> #include<cstdio>…
名称:字符串 来源:2019年陕西省选 题目内容 传送门 洛谷(P5392) 题目描述 给出一个长度为$n$的由小写字母组成的字符串$a$,设其中第$i$个字符为$a_i(1≤i≤n)$. 设删掉第$i$个字符之后得到的字符串为$s_i$,请按照字典序对$s_1,s_2,--,s_n$从小到大排序.若两个字符串相等,则认为编号小的字符串字典序更小. 输入&&输出 格式 输入 第一行一个整数$n$. 第二行一个长为$n$的由小写字母组成的字符串$a$. 输出 输出一行$n$个整数¥k_1,k…
题目大意:给一个长度为$n$的字符串$s$,字符串$p_i$为字符串$s$去掉第$i$个字符后形成的字符串.请给所有字符串$p_i$排序(相同字符串按编号排序) 题解:先去掉所有连续相同字符,因为它们形成的字符串一定相同(也就是说只按编号排序).然后发现对于两个字符串$p_i,p_j(i<j)$只需要比较$s_i$与$s_{i+1}$的大小就可以比较这两个字符串的大小.即$p_i$只会排在$p_{i+1}\sim p_n$的前面或后面.所以可以用链表解决 卡点:无 C++ Code: #incl…
传送门 显然要写一个排序,那只要考虑cmp函数怎么写就行了.第\(i\)个字符串和第 \(j\)个,首先前\(min(i,j)-1\)个字符是相同的,然后就是要比较后缀\(min(i,j)\)和\(min(i,j)+1\),先求lcp(要对\(max(i,j)-min(i,j)\)取\(min\)),如果两个后缀往后跳lcp的位置字符不一样就可以得到结果了. 然后可以用SA求lcp 然后我T了,但是可以发现所有lcp都是相邻两个后缀的,所以这个可以\(O(n)\)递推 #include<algo…
正解:字符串 解题报告: 传送门$QwQ$ 有两个很妙的方法,分别港下$QwQ$ 首先为了表示方便,这里和题面一样设$s_i$表示去掉第$i$个字母得到的字符串.另设$lcp(i,j)$表示$suf_i,suf_j$的最长公共前缀 考虑现在如果要比较$s_i$和$s_j$.不妨设$i<j$ 首先显然的是$i$之前和$j$之后的字符串都是一样的,于是现在就只要比较$[i,j]$这一段了. 考虑先求出$lcp(i,i+1)$,若$lcp(i,i+1)$的前缀长度大于等于$[i,j]$这一段的长度了,…
用栈的做法来水一发. 首先我们有一个暴力的做法,枚举每个被删除的字符,然后排序输出,时间复杂度:$ O ( N \times N \times LogN ) $ . 然后我们观察一下数据,发现有一个数据点且任意两个相邻字符 $ a_i $ 与 $ a_{i+1} $ 不相等:那么我们考虑这样一个字符串: $ acdedc $ .比如现在我们比较去掉第三位的字符串和去掉第四位的字符串.我们发现 $ acddc $ 比 \(acdec\) 小,然后我们再发现除 $ 3,4 $ 位的以外的都是一样的,…
LOJ#3095. 「SNOI2019」字符串 如果两个串\(i,j\)比较\(i < j\),如果离\(a_{i}\)最近的不同的数是\(a_{k}\),如果\(j < k\)那么\(i\)排在\(j\)前面 否则的话如果\(a_{k} < a_{i}\),那么\(i\)排在\(j\)前 于是写个比较函数扔到sort里就可以了 #include <bits/stdc++.h> #define fi first #define se second #define pii pa…
题目 看起来非常一眼啊,我们完全可以\(std::sort\)来解决这歌问题 于是现在的问题转化成了比较函数怎么写 随便画一下就会发现前面的好几位是一样的,后面的好几位也是一样,只需要比较中间的一段子串的大小就好了 比较大小我们显然是需要\(lcp\)的 发现这里的后缀恰好有一位是错位的,于是我们只需要知道对于每一个后缀\(i\)知道它和后缀\(i+1\)的\(lcp\)长度是多少 我们显然可以\(O(n)\)递推求出来 之后快排即可 #include<bits/stdc++.h> const…
SNOI2019场外VP记 教练突然说要考一场别省省选来测试水平...正好还没看题那就当VP咯w... Day 1 八点开题打 .vimrc. 先看了看题目名...一股莫名鬼畜感袭来... 怎么T1就是字符串鸭?HEOI 2019 D1T2的心理阴影为啥我会xjb套那么多东西上去啊QAQ...T2数论T3通信? 不好的感觉... 读了读T1, 神仙字符串排序, 溜了溜了 读了读T2, 模两个模数同余? 溜了溜了... 读了读T3. 诶这个东西怎么这么费用流啊? 看看数据范围...诶这个 \(n\…
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This PEP proposes a new system for built-in string formatting operations, intended as a replacement for the existing '%' string formatting operator. 1.百分号…