自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 后缀数组模板

后缀数组真难,QAQ自己写了一个,找了两份模板主流两种算法:倍增法(时间O(NlogN),空间O(N))DC3算法((  时间复杂度O(N),空间复杂度O(3N) )) 倍增(DA)算法1:const int MAXN = 1e5+5;int SA[MAXN], rank[MAXN], Height[MAXN];int tax[MAXN], tp[MAXN], a...

2018-08-24 20:06:36 378

原创 九大排序-基数排序

基数排序://基数排序(Radix Sort)基本思想是:将整数按位数切割成不同的数字,然后按每个位数分别比较。//具体做法是:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。//然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。/*时间复杂度:O(N*digit)空间复杂度:O(N)稳定性:稳定*/cons...

2018-08-24 16:33:08 263

原创 HDU 3068 最长回文(马拉车模板题)

题目链接:http://hdu.hustoj.com/showproblem.php?pid=3068 Problem Description给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.回文就是正反读都是一样的字符串,如aba, abba等Input输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c...y,z组...

2018-08-22 15:53:03 206

原创 马拉车算法(Manacher算法求最长回文子串)

马拉车有两个规律:最长子串的长度是半径(p数组)减1,起始位置是中间位置减去半径再除以2。模板:const int N = 110005;char str[N],s[N*2];int p[N*2],len1,len2; //p[i]表示以t[i]字符为中心的回文子串的半径/*s[i]: # 1 # 2 # 2 # 1 # 2 # 2 #p[i]: 1 2 1 2 5 2 ...

2018-08-22 15:51:12 452 1

原创 hdu 2222 Keywords Search(AC自动机模板题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222Problem DescriptionIn the modern time, Search engine came into the life of everybody like Google, Baidu, etc.Wiskey also wants to bring this fea...

2018-08-15 19:29:41 262

原创 HDU 2896 病毒侵袭(AC自动机模板题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2896Problem Description当太阳的光辉逐渐被月亮遮蔽,世界失去了光明,大地迎来最黑暗的时刻。。。。在这样的时刻,人们却异常兴奋——我们能在有生之年看到500年一遇的世界奇观,那是多么幸福的事儿啊~~但网路上总有那么些网站,开始借着民众的好奇心,打着介绍日食的旗号,大肆传播病毒...

2018-08-15 19:13:49 155

原创 UVAlive 3942 - Remember the Word(字典树+dp或者AC自动机+dp)

Neal is very curious about combinatorial problems, and now here comes a problem about words. Knowing that Ray has a photographic memory and this may not trouble him, Neal gives it to Jiejie. Since Jie...

2018-08-14 16:55:01 229

原创 快速读入fread

namespace IO{ #define BUF_SIZE 100000 #define OUT_SIZE 100000 #define ll long long //fread->read bool IOerror=0; inline char nc(){ static char buf[BUF_SIZE],*p1=bu...

2018-08-13 16:53:42 931

原创 扩展KMP模板(EX_KMP)

贴一份扩展KMP模板://扩展KMP可求问题:给出一个长为N的字符串S,再给出一个长为M的字符串T//求S的所有后缀中和T的最长公共前缀//假设s为文本串(长度为n),T为模式串(长度为m)char s[N],T[N];int n,m;int Next[N]; //Next[i]代表T[i~m-1]与T[0~m-1]最长公共前缀int ex[N]; //exte...

2018-08-13 16:30:40 384

原创 AC自动机(Aho-Corasick 多模式匹配算法)

AC自动机是解决多模式串匹配算法,常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过。AC自动机一般用三步:  1.建立模式的Trie(字典树)          字典树模板:https://blog.csdn.net/baodream/article/details/80685799  2.给Trie添加失败路径(fail指针)   ...

2018-08-04 17:01:03 1198

原创 离散化的两种操作

离散化是程序设计中一个常用的技巧,它可以有效的降低时间复杂度。其基本思想就是在众多可能的情况中,只考虑需要用的值。离散化可以改进一个低效的算法,甚至实现根本不可能实现的算法。要掌握这个思想,必须从大量的题目中理解此方法的特点。 有些数据本身很大, 自身无法作为数组的下标保存对应的属性。如果这时只是需要这堆数据的相对属性, 那么可以对其进行离散化处理。当数据只与它们之间的相对大小有关,而与具...

2018-08-03 16:34:08 4497 1

原创 HDU 1251 统计难题(字典树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251题目思路:字典树模板题,上板子就行板子链接传送门:https://blog.csdn.net/baodream/article/details/80685799PS:这个题用指针始终会MLE,不知道为什么,网上的代码也会MLE,所以这个题就用数组过吧,QAQ。代码:#incl...

2018-08-02 16:48:38 223

原创 POJ 3264 Balanced Lineup(线段树)

题目链接:http://poj.org/problem?id=3264题目大意:求区间最大值和最小值的差值题目思路:RMQ或线段树,这里贴一份线段树代码,求一次区间最大值和最小值作差就行代码:#include<cstdio>#include<cmath>#include<cstring>#include<string>#in...

2018-08-02 14:41:25 159

原创 HDU 4027 Can you answer these queries?(线段树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4027题目题意:n个数,m次操作,0代表修改区间l~r的所有值为其开方下取整,1代表查询l~r的所有值的和题目思路:仔细观察后,其实我们可以很容易的发现,一个数k(k<=2^63-1)在经过最多6,7次的开平方根后,必然会变成1,而且当1的平方根也是1,也就是说当一个数为1的时候,我们...

2018-08-02 11:57:21 222

原创 HDU 1698 Just a Hook(线段树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698题目思路:区间修改,区间查询,线段树简单题代码:#include<cstdio>#include<cmath>#include<cstring>#include<string>#include<cstdlib>#i...

2018-08-02 11:01:58 119

原创 POJ 3468 A Simple Problem with Integers(线段树或树状数组)

题目链接:http://poj.org/problem?id=3468题目思路:区间修改,区间查询,线段树模板题代码:#include<cstdio>#include<cmath>#include<cstring>#include<string>#include<cstdlib>#include<algori...

2018-08-02 10:59:34 149

原创 HDU 1754 I Hate It(线段树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754题目思路:单点更新,区间查询,线段树模板题代码:#include<cstdio>#include<cmath>#include<cstring>#include<string>#include<cstdlib>#i...

2018-08-02 10:55:19 136

原创 HDU 1166 敌兵布阵(线段树)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166题目思路:单点更新,区间查询,线段树模板题,套板子就ok代码:#include<cstdio>#include<cmath>#include<cstring>#include<string>#include<cstdlib...

2018-08-02 10:51:57 172

原创 线段树模板

贴一份线段树的区间修改和查询大模板const int N = 1e6+5;int a[N],n; //输入数据,构造线段树数组struct node{ int lft,rht; int sum; //区间和 int maxx; //区间最大值 int minn; //区间最小值 int lazy; //延迟标记,减小时间复杂...

2018-08-02 10:46:18 144

原创 1000亿以内的素数统计(Meisell-Lehmer算法)

1e11内的数差不多都能在5秒内处理完代码:#include<bits/stdc++.h> using namespace std; typedef long long LL;const int N = 5e6 + 2;bool np[N];int prime[N], pi[N]; int getprime() { int cnt = 0; ...

2018-08-01 10:10:30 1617

空空如也

空空如也

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

TA关注的人

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