自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IDE中application.yml不显示Spring图标

IDE中application.yml无Spring图标,而application.yaml正常显示

2022-06-02 01:23:42 673

原创 CodeChef-JARVIS and LCP(后缀数组+st表+二分)

题意:给你一个字符串集合,包含n个字符串,然后q次查询,每次查询第x个字符串和第y个字符串的LCP(最长公共前缀)在整个集合中出现的次数。分析:我们把整个集合串起来,各个字符串连接处加特殊符号,然后求整个串的后缀数组,然后我们用st表维护heigh数组区间最小值。对于每一次查询,先求出第x个字符串和第y个字符串的LCP长度len,然后任选x串或者y串,取该串起始位置在整个连接串的位置p,记e=rk[p];然后只需要分别从e左边和右边找heigh>=len的最左位置和最右位置。这里是可以两个二分优

2021-10-15 16:37:18 277

原创 Longest Common Substring II(后缀数组+二分答案)

题意:输入多行串(不超过10行),求这些串的LCS(最长公共子串)思路:利用LCP求LCA。考虑只有两个串的情况,我们把两个串连接(中间加一个没出现的字符),后缀数组求h数组,然后遍历h数组,找满足sa[i-1],sa[i]分别位于不同串位置的和h[i]的最大值即为答案。这也是Longest Common Substring I的思路。那么当输入串不止两个时,还是根前面一样建立后缀数组求h数组,然后二分答案长度,对于当前长度,我们找一组连续大于当前长度的h值[l,r],然后只需要判断sa[l-1,r

2021-09-18 13:17:01 123

原创 #2377. 「AHOI2013」 差异(后缀数组+单调栈)

题意描述给定一个字符串,令 Ti表示它从第 i个字符开始的后缀求∑1<=i<j<=nlen(Ti)+len(Tj)−2∗lcp(Ti,Tj)\sum_{1<=i<j<=n}len(Ti)+len(Tj)-2*lcp(Ti,Tj)1<=i<j<=n∑​len(Ti)+len(Tj)−2∗lcp(Ti,Tj)分析前两项应用数学公式为(n)(n+1)(n−1)2\frac{(n)(n+1)(n-1)}{2}2(n)(n+1)(n−1)​所以这道题就转换

2021-09-14 17:47:12 131

原创 Codeforces Round #729 (Div. 2)C. Strange Function

C. Strange Function:题意:t组输入,每一次一个n,求f(1)+f(2)+…+f(n)对1e9+7取模;f(i)表示最小的不能被i整除的数。例如:f(1) = 2;f(2)=3;f(3)=2;f(10)=3,f(12)=5;分析:由f(i)的定义可知f(i)最小为2。我们可以首先假定所有f(i)=2(i=1~n)。然后我们思考,什么时候f(i)会为3?当然是1和2都是i的因子;同理,当1,2,3都是i的因子时f(i)为4,一般地,当1,2,3…(k-1)都是i的因子时f(i)

2021-07-13 16:35:45 285

原创 L1-032 Left-pad

根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是*****GPLT。Node社区曾经对left-pad紧急发布了一个替代,被严重吐槽。下面就请你来实现一下这个模块。输入格式:输入在第一行给出

2021-04-24 11:11:18 158

原创 1204--Word Puzzles

1204–Word Puzzles链接题意:给一个L*C的字符矩阵,然后w个单词,要求每个单词在字符矩阵中首次出现的位置和方向。分析:将代求单词建立字典树,利用AC自动机。从字符矩阵中遍历各个方向和起点查找,起点只需从矩阵四条边开始就行,因为从边界出发总能覆盖到每条边。code:#include <iostream>#include <string>#include <set>#include<queue>#include<stdi

2021-04-22 22:23:31 483

原创 uva11475 - Extend to Palindrome

链接题面:11475 - Extend to PalindromeYour task is, given an integer N, to make a palidrome (word that reads the same when you reverse it) of length at least N. Any palindrome will do. Easy, isn’t it? That’s what you thought before you passed it on

2021-03-25 20:53:18 122

原创 线段树(入门篇)

线段树(从入门到深究)首先说说啥是线段树:线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。不理解?我们看下图,对于区间1-6,A[1-6]={3,5,1,7,8,2},我们可以建立如下树结构建线段树我们能干什么?我们可以用结构体定义每个树的

2021-03-13 14:52:15 296

原创 并查集

并查集(分析+板子)所谓并查集,顾名思义,就是对于集合上的操作,包括合并集合和查找集合。首先定义一个parent数组,用来记录下编结点的父亲结点,如parent[2]=5,代表2号结点的父亲结点为5号结点。数组初始化值为i即本身(即parent[i]=i;),初始化后每个点父亲结点都是自己本身,初始化也依题而异,有时初始化为-1。1、查找操作int find_pa(int x){ if(parent[x]==x) return x;//父节点为本身,直接返回。 return paren

2021-03-04 11:32:52 1039 1

原创 广度优先搜索BFS

广度优先搜索BFS广度优先搜索BFS广度优先搜索(以下简称BFS)是搜索技术中常用的一种搜索。BFS体现在广度一词上,一层一层进行遍历,常见的有在矩阵(二维数组)上的遍历以及树和图的遍历。体现在二维数组的遍历顺序如下(假设起点在左上),在只能上下左右四个方向遍历时,序号代表遍历顺序。1234234534564567序号相同的位置访问顺序可任意。实现时,当访问1号位置时,就要对两个2号位置进行标记(我要准备访问你了),当访问任一个2号位置时就

2021-03-02 21:25:05 193

空空如也

空空如也

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

TA关注的人

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