自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

转载 Luogu5546/BZOJ2946 [POI2000]公共串

题目传送门 算法分析 和Sandy的卡片几乎是同一题我们证明了中国OI的POI性。 具体算法分析见Luogu2463/BZOJ4698 [SDOI2008]Sandy的卡片 要注意是否存在完全一样的字符串,此时的分隔符要注意。 代码实现 #include<bits/stdc++.h> using namespace std; #define maxn 200005 #defi...

2019-09-14 12:44:00 122

转载 Luogu2852 [USACO06DEC]牛奶模式Milk Patterns

题目传送门 算法分析 题目要求我们求出出现至少\(k\)次的最长子串。子串问题最常见的(其实是我只会)的做法是后缀数组。 后缀的前缀一定是这个字符串的一个子串,因此我们只需要求出至少\(k\)个不同后缀的\(LCP\)即可。 我们回顾一下对于任意的两个后缀\(i,j\ (i\ne j)\),那么\(LCP(i,j)=\min_{i<k\le j}\{height[k]\}\) 由此...

2019-09-13 11:18:00 112

转载 Luogu2463/BZOJ4698 [SDOI2008]Sandy的卡片

题目传送门 算法分析 题目要我们找\(n\)个数字串中“相同”的长度最大的子串,这里子串的定义为:两个子串长度相同且一个串的全部元素加上一个数就会变成另一个串。因此我们不难想到对这\(n\)个数字串做差分,然后直接找他们的最长公共子串即可。 处理子串问题自然想到用后缀数组实现,但是这里对每一个串做后缀数组无法解决问题,因此我们想到可以把这\(n\)个差分数字串“拼”起来。为了防止答案求出...

2019-09-12 23:08:00 107

转载 Luogu2447/BZOJ1923 [SDOI2010]外星千足虫

题目传送门 算法分析 不难看出这相当于是解\(n\)元一次异或方程组,类比\(n\)元一次方程组的解法,不难想到使用高斯消元。 发现数据范围比较大,\(n^3\)是肯定过不去的,因此想到01矩阵用bitset存储,用bitset Xor运算实现对其他方程的转化,时间复杂度\(\frac{n^3}{32}\)可以通过。 求最早确定结果的时间,只需要再记录一个\(id[i]\)表示当前第\(...

2019-09-09 12:58:00 101

转载 Luogu4035/BZOJ1013 [JSOI2008]球形空间产生器

题目传送门 算法分析 不妨设未知数\(d\)表示每一个点到球心的距离,设未知数\(b_1,b_2,\cdots,b_n\)表示球心的坐标。 我们不难得到\(n+1\)个方程: \[d^2=\sum_{i=1}^n{(a_i-b_i)^2}\] 发现出现二次项了,这里显然不可以用换元法把二次项换成一次项。 我们把这个式子展开: \[d^2=\sum_{i=1}^n{a_i^2}+\sum_...

2019-09-09 12:41:00 90

转载 Luogu3389 【模板】高斯消元法

题目传送门 算法分析 高斯消元,是求解\(n\)个\(n\)元\(1\)次方程组的算法,一般情况下时间复杂度为\(O(n^3)\)。 我们把这\(n\)个方程组看成一个\(n\times (n+1)\)的矩阵。以样例为例: \[ \left( \begin{matrix} {{x}_{1}} & 3\times {{x}_{2}} & 4\times {{x}_{...

2019-09-08 21:04:00 128

转载 Luogu4341/BZOJ2251 [BJWC2010]外星联络

题目传送门 算法分析 \(n\le 3000\),即\(n^2\)的时空复杂度都是可以接受的,我们考虑直接将所有的后缀插入一颗Trie,那么这颗Trie的所有前缀即为这个字符串的所有子串,在Trie上跑前缀和即可统计每一个子串出现了多少次。因为Trie的dfs遍历就是按字典序排序后的结果,所以我们直接跑一边dfs,如果某个子串出现次数\(\ge 2\),则输出这个字串。 我们换个想法:...

2019-09-08 17:50:00 94

转载 Luogu4051/BZOJ1031 [JSOI2007]字符加密

题目传送门 算法分析 这题相当于对环形字符串进行后缀排序,处理环上问题的一般策略是破环为链,将原字符串复制一倍接在原字符串后面,然后对这个新字符串进行后缀排序。 为什么这个算法是对的?后缀中\(>n\)那一部分字符串会不会影响答案? 因为我们只关注新的字符串后缀前\(n\)位,并且只有两个后缀满足前\(n\)位完全相同时才会进行后面的比较,这种情况只会在形如aaaaa这种字符串中出...

2019-09-07 11:31:00 109

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除