自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 nefu_1506 rmq 区间众数

此题是有序的区间众数问题可将数列变为频度序列,然后rmq求区间最大值,同时处理左边可能有只有一段在这个区间的情况,预处理数列,求出每个上升序列的起点值,然后减出,左边这段在区间内的长度。代码:#include <iostream>#include <cstdio>#include <cmath>const int MAXN = 1e6 ...

2018-09-12 20:46:54 321

原创 nefu_1510字典树

链接做法1:字典树,添加就标记个数时+1,删除就标记个数时-1,最关键的是怎么处理有前置0的情况?我认为第一种方法,可以先把字符串变成数,但是还有另一种方法,就是,假设所有数字都是19位的,数字进来,我们在前面补0,直到补到19-数字长度即可,这样一来,就把前置0的问题解决了。#include &lt;iostream&gt;#include &lt;stdio.h&gt;#incl...

2018-09-12 20:39:02 272

转载 manacher算法学习心得

详细解释见:https://segmentfault.com/a/1190000008484167manacher算法,算法处理回文字符串。通过初始化,在s串前加'$'在各个字符之间加'#'构成一个新的奇长度的串,对于这个串,进行预处理,构造p数组,其中p[i]-1等于回文串长度,处理方法见代码:#include &lt;iostream&gt; #include &lt;cst...

2018-09-11 19:36:00 189

原创 hash,hash表应用

hash算法,在我的理解中就是,将一个字符串转化为一个可以代表它的数字,在调用,查询这个字符串时,就大大缩短了时间复杂度。hash表算法,对于一个字符串,进行如下操作 hash[i]=hash[i-1]*base+s[i]的操作,将字符串的每一部分转化为数字的值都存入数组,如此一来,想要查询这个字符串中的任何一部分都是可以的。这样取字符串中任何一段,都可以用o(1)的算法实现。对于hash...

2018-09-11 17:08:01 203

原创 lca学习心得

lca求树上两点最近的公共祖先。对于树上两点最近的公共祖先,我们首先能想到的办法,就是暴力,如果深度不相同先调整到相同深度,如果深度相等了,祖先不同的话,就继续向上找,直到找到相同的公共祖先。但是这样的方法,显然速度太慢,那么我们该怎么寻找两个点最近的公共祖先呢?我们可以处理一颗树上的所有点将其所有的2的次幂的祖先处理出来,放在一个数组中,寻找两个点共同公共祖先时,首先将两个点深度调到...

2018-09-05 20:27:20 328

原创 补题 nefu1494

链接·对于此题,求有多少对i,j那么现在我们有两个变量,很简单的想法,定一动一。那么我们对于一个串,我们首先处理前缀和,那么用a[n]-a[i]等于k的方式,就可以找到有多少个j,那么我们再从头找i,从头遍历i就可,对于i找他之后有多少个j直接加在ans上即可,那么我们就可以知道,共有多少对不同的i,j。对于i后面有多少个j,可以用树状数组的形式,或者第一步找的时候直接处理在数组中,这样就...

2018-09-05 19:17:20 148

原创 补题nefu1492

链接此题求已知字符串s,其前缀长度跟前缀出现次数乘积最大值。那么我们可以想到对于字符串前缀求法,就是kmp,那么kmp怎么求前缀出现次数呢?我们可以想到,kmp的next数组对于每一个i对应的就是next[i]既是这个子串的前缀也是他的后缀,那么我们就可以知道这个next[i]长度的前缀在这里又出现了一次,那么我们可以从字符串末尾遍历,开始让所有字符串出现次数都是一次,那么从最长的开始...

2018-09-05 19:05:43 173

空空如也

空空如也

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

TA关注的人

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