自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HDU5785 Interesting(manacher+差分数组)

题意:一个串s,如果存在1<=i<=j<k<=|s|,且s[i,..j]和s[j+1,..k]都是回文串,那么对结果的贡献就是i*k。求所有贡献之和。 思路:对于每个位置i,设以i为末尾的回文串的起点分别为s1,s2,...,以i+1为起点的回文串的终点位置分别为t1,t2,....,那么i位置对结果的贡献=s1 * t1 + s1 * t2 +...+ s2 * ...

2018-10-30 20:23:13 262

原创 HDU5157 Harry and magic string(回文树)

题意:从一个串s中取两个回文子串,求使两个回文串互不相交的取法数。 思路:TsinsenA1393. Palisection的镜像问题,正反跑一次回文自动机,用前缀和计算贡献即可。#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#...

2018-10-30 15:07:32 224

原创 BZOJ3676: [Apio2014]回文串 (回文树模板)

题意:求串s中每个回文串的长度与出现次数乘积的最大值。 思路:回文树裸题,求最大的cnt*len即可。#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#include <stac...

2018-10-30 00:33:36 167

原创 UVALive - 7041The Problem to Slow Down You (回文树)

题意:T组样例,每组两个长度2e5的字符串a和b,求a中每个回文串在b中出现次数的总和。 思路:回文自动机中每个节点够代表一个不同的回文串,分别建立回文自动机统计出a和b中每种回文串出现的次数,然后分别从节点0和1做dfs,统计相同结点的cnt乘积即可。#include <iostream>#include <cstdio>#include <cst...

2018-10-30 00:30:48 137

原创 TsinsenA1393. Palisection (回文树)

题意:从一个长度n(1<=n<=2e6)的字符串中来找出两个回文子串,求这两个子串有公共位置的取法有多少种。 思路:开始想着manacher预处理,然后给每个回文串计算范围内贡献的办法,WA了之后想到类似TsinsenA1280的处理办法,通过字符串两个方向上的预处理,求出回文串不相交的方案数,再用总方案数做个减法。用qz[i]表示前i位包含的回文串数,前缀和维护即可。...

2018-10-30 00:25:40 341

原创 TsinsenA1255. 拉拉队排练(陶文博) (回文树)

http://www.tsinsen.com/A1255题意:一个1e6的字符串,求出长度为奇数的回文子串中长度排前K的回文串的长度之积。 思路:建回文自动机,然后遍历结点,统计长度为奇数的回文串数量,然后从长到短算出前K长的回文串长度之积就行了。#include <iostream>#include <cstdio>#include <cstr...

2018-10-30 00:07:29 237

原创 TsinsenA1280/BZOJ2565 最长双回文串(回文树)

题意:输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串。2≤|S|≤10^5。 思路:因为求的是双回文串的最大长度,优先找最长的X或最长的Y会出问题。所以要枚举X和Y的分界点,枚举每个位置,找出当前位置向前和向后能延伸到的最长回文串,求和更新答案。显然回文自动机可以求出以每个点为末尾向前能够延伸到的最大回文串,要解决的是求一...

2018-10-29 23:48:07 151

原创 URAL1960 Palindromes and Super Abilities(回文树)

题意:给一个长度1e5的串,求它的每个前缀包含的不同回文串数量。 思路:不同回文串数量正好就是回文树中节点个数-2(除去节点0和1),按顺序插入字符构造回文树,每次插入字符后的结点数就是对应前缀中的回文串种类数。#include <iostream>#include <cstdio>#include <cstring>#include &lt...

2018-10-29 23:39:35 211

原创 POJ3693 Maximum repetition substring

题意:给一个长度100000以内的字符串,求出其中重复次数最多的可重叠子串,如果有多个结果输出字典序最小的。思路:枚举循环节长度len,对于每个len,枚举串的起点j,每次递增len,求出后缀j与后缀(j+len)的最长公共前缀L,这个只需要求出min(height[j],...,height[j+len]),这个先用一个ST表预处理出来。那么len的循环次数就是L/len+1,这时候再处理j...

2018-10-19 13:51:41 158

原创 POJ1743 Musical Theme(二分+后缀数组)

题意:有一个长度N(1<=N<=20000)的数列,元素的范围是1~88。定义“theme”为一个长度不小于5的串s,且数组中还存在至少一个与它等长的串t,t中每个相邻元素之间的差值与s串相等,s和t不能相互覆盖。求最长的theme串的长度。思路:题目要求两个子串的相邻元素差值相等,而后缀数组求的是匹配的串,我们可以求出数组中相邻元素的差值构成一个新的数组,即转化成了经典的最大不覆...

2018-10-19 13:37:09 140

原创 UVA11475 Extend to Palindrome(扩展KMP/Manacher/后缀数组)

题意:给一个长度最大100000的字母串,可在它后面任意补充字符,输出可以构成的最短回文串。思路:补充的部分要与前面形成回文,要求出来最少的情况,显然我们要先求出原串的后缀能够形成的最大回文串,然后补充剩下的前缀部分的对称串即可。最好的情况就是原串回文,不需要补充,最坏的情况是以最后一个字母为对称中心,要补充n-1个字母。求最大的回文后缀,有几种方法:Manacher:在串上跑一次...

2018-10-19 13:27:04 267

原创 POJ3261 Milk Patterns(二分+后缀数组)

题意:一个长度N(1<=N<=20000)的数列,找出其中至少重复了K次的最长子串,输出长度,子串可以重叠。思路:后缀数组经典应用,二分答案ans,找到满足条件的最大的长度。对于每个二分的值x,我们按照x将height值分组,同一组内超过K个位置即可。#include <iostream>#include <cstdio>#include <...

2018-10-19 11:44:49 128

原创 POJ3581 Sequence(后缀数组坑题)

题意:将一个长度为N(<=200000)的数组,划分成非空的三段,然后倒转每一段拼成一个新的数组(三段相对位置不变),输出字典序最小的结果。 思路:要求的就是倒转后字典序最小的结果,先倒转原数组,跑一次SA,之后后缀会按照字典序排列,我们只需要找到第一个满足sa[i]>1(因为要保证后面两段非空)的位置就行了,这就是第一段。去掉第一段后,我们需要找出剩下的部分中字典序较小的...

2018-10-19 11:33:58 153

原创 HDU6406 Taotao Picks Apples(单调栈+ST表)& ST表模板

题意:Taotao有N个苹果排成一条直线,他从第一个开始取苹果,每个苹果都有一个值Hi,除了第一个苹果外,他每次只会取比前一次Hi值高的苹果。有M次询问(p,q),如果将第p个苹果的值改成q,求他最多能取多少个苹果。 思路:因为序列是严格上升的,所以初始的时候取哪些苹果是一定的,我们可以预先处理出来。对于每次询问,可知p位置前面选取的苹果是一定的,用lcs[i]记录初始时到i点取到的苹果数...

2018-08-18 18:09:03 164

原创 牛客网暑期ACM多校训练营(第九场)F.Typing practice

题目描述 Niuniu is practicing typing.Given n words, Niuniu want to input one of these. He wants to input (at the end) as few characters (without backspace) as possible,to make at least one of the n w...

2018-08-17 18:07:29 232

原创 KMP模板

1、朴素KMP先是朴素版本的KMP,求解大部分串匹配还有循环节等问题。/*s1:子串s2:母串nxt[0]:-1nxt[i]:s1到第i-1位的最大匹配长度,i=1,2,...,leneg:s1: a b c a a b c d b a b c anxt:-1 0 0 0 1 1 2 0 0 0 1 2 3 4kmp返回字串在母串中出现的第一个位置,没有就是-1*...

2018-08-17 17:58:52 181

原创 差分约束系统整理

预备知识:最短路SPFA/Dijkstra等一、定义如果一个系统由n个变量和m个约束条件组成,形成m个形如ai-aj≤k的不等式(i,j∈[1,n],k为常数),则称其为差分约束系统(system of difference constraints)。亦即,差分约束系统是求解关于一组变量的特殊不等式组的方法。(百度词条)简单来说,只要问题能够被转化成一组  xi - xj <= ...

2018-08-07 18:02:40 498

原创 HDU4598 Difference(差分约束)

题意:有一个图,给图上每个顶点都赋一个实数Ai。如果存在一个正整数T满足下面两个条件,这个图就是一个"difference"。1. |Ai| <= T。2. 如果点i,j构成的边在图中存在,则 |Ai - Aj| >= T;否则 |Ai - Aj| < T。("<=>" 代表充要条件)给出图,问这个图是否是一个"difference"。 思路:...

2018-08-07 17:40:43 250

原创 POJ2983 Is the Information Reliable?(差分约束)

题意:敌国有N个防御工事,排在一条直线上。你截获了M条情报,有的精确(P)有的模糊(V)。P情报有三个值A,B,X,表示A站点在B站点北部X距离处。V情报有两个值A,B,表示A在B北方,至少相隔1距离。判断这些情报汇总起来是否有解。 思路:N个点都在一条数轴上,设向北为正方向,Sa代表a在数轴上的相对坐标,对于V情报,有 Va - Vb >= 1.对于P情报,可以构造 Sa - ...

2018-08-07 15:11:19 160

原创 POJ1201 Intervals(差分约束)

题意:给出n个闭区间[ai, bi],每个区间还有个正整数ci,表示需要在区间i中至少取到ci个数。求要满足所有的n个约束条件,最少要取多少个数字。 思路:设S(k)为从区间[0,k]中取到的数字的个数,则 S(bi) - S(ai - 1) >= ci。另外有 0 <= S(i) - S(i - 1) <= 1,(i = 0,1,...,n-1)为了方便计算,将...

2018-08-04 18:54:54 162

原创 HDU3592 World Exhibition & POJ3169 Layout(差分约束)

题意:N个人排成一条线,按顺序编号1到N,有可能多个人站在一个点上。有x个约束(a,b,c),表示a和b互有好感,他俩的距离不能超过c,还有y个约束(a,b,c),表示a和b互相讨厌,他俩的距离不能少于c。求1到N的最大距离,无解输出-1,有无穷远输出-2. 思路:差分约束裸题,建图跑最短路就行,以1为起点,N为终点。如果dis[N]为inf,说明两个数字互不影响,就返回-2。两题的内...

2018-08-04 17:51:52 138

原创 HDU2647 Reward(差分约束)

题意:老板要发年终奖,一共有n个员工,每个人至少888,但还有m个限制条件(a,b),员工a的奖金一定要比员工b多。求老板要满足左右条件最少要发的钱数。 思路:差分约束裸题,只有正权边,为了保证图的连通,初始时将所有点加入队列,并置dis为888,最后求和即可。另外这个题目用拓扑排序也可以写。#include <iostream>#include <cstdi...

2018-08-04 17:24:30 154

原创 HDU3440 House Man(差分约束)

题意:有n个高度各不相同的房子排成一条直线,每个房子都占据一个点,相邻两个房子之间的距离可以改变,但是所有房子的相对位置不能变。有一个超人能够在房子之间跳跃,他从最矮的房子开始,依次跳到更高的房顶上。任意两个高度的次序相邻的房子之间的距离不能超过D。求最高的和最矮的房子之间的最大距离。 思路:我们将房子按照高度次序编号,最矮的为0,最高的是n-1,设Si为房子i在直线上的坐标,要求的是ma...

2018-08-04 16:27:01 234

原创 HDU4109 Instrction Arrangement(差分约束)

题意:一台电脑需要执行N条指令(0到N-1),每条指令都要花费一单位时间,可以同时执行无限条指令。有M个约束条件(X,Y,Z),表示指令Y必须在指令X执行后过Z单位时间才能执行。问执行完所有的指令需要的最短时间。思路:显然就是差分约束嘛,设Si为指令i的开始时间,对每条约束可以得到不等式 Sy >= Sx + Z。这道题目建的图不一定是连通的,采用初始时将所有结点加入队列的方法代替超...

2018-08-04 03:59:23 208

原创 HDU1534 Schedule Problem(差分约束)

题意:一个项目可以分为N个部分,每个部分都有自己的工期,且互相可以并行地完成,一个部分一旦动工,就必须做完,不能中间暂停,同时可以开展的任务数没有上限。有4种约束条件:FAS(i,j):i部分必须在j部分开始前完成。FAF(i,j):i部分必须在j部分结束前结束。SAF(i,j):i部分必须在j部分完成前开始。SAS(i,j):i部分必须在j部分开始前开始。要让总工期最短,输出...

2018-08-04 03:33:33 348

原创 HDU1529/POJ1275 Cashier Employment(差分约束+二分答案)

题意:有家24小时营业的超市,现在给出每个小时需要的员工数Ri(i = 0, 1, 2, ..., 23),Ri表示从时刻i开始的一个小时内需要的员工数。现在有N名员工可以上岗,每人都有一个固定的上岗时间,且每个人只会在上岗之后固定工作八个小时,不会换班。求在满足人数要求的前提下,可以安排的最少员工数。可能无解。思路:真是一个思维好题。设ai为第i小时实际上岗的人数,Si为前i小时一共上岗...

2018-08-04 02:34:36 192

原创 HDU1531 & POJ1364 King(差分约束系统)

题意:好毒瘤的题面啊。。。就是有一个长度N的序列S = {a1,a2,...,an},现在有M个约束条件,每个约束条件包含三个数字s, n, k和一个用来表示大于号(gt)或小于号(lt)的串o,表示  或  ,'>' 还是 '<' 取决于串o。问这m个条件能够同时得到满足。思路:可以看出每个约束都是S的一个子序列的和与k的关系,记Si为S中前i个元素的和,则可以将原来的不等式...

2018-08-04 00:15:22 196

原创 ZOJ2770 Burn the Linked Camp(差分约束系统)

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2770题意:陆逊准备烧刘备的连营,现在已经打探到刘备有n个营地排成一条线,编号1到n,每个营地有一个人数上限Ci。他还打探到了m条情报,每条情报包括i,j,k三个数字,表示从i营到j营的人数至少有k个。现在让你根据情报求出刘备所以的营地加起来最少有多少个士兵。有可能情报有...

2018-08-03 18:50:07 164

原创 HDU6336 Matrix from Arrays

题意:有一个长度为L(1 <= L<= 10)的数组A和一个无限大的矩阵M。执行下面的代码:int cursor = 0;for (int i = 0; ; ++i) { for (int j = 0; j <= i; ++j) { M[j][i - j] = A[cursor]; cursor = (cursor + 1) %...

2018-08-01 19:09:09 200

原创 POJ3259 Wormholes(spfa判负环)

题意:农场主有N块地编号1到N,有M条路径连接这些边,每条边有一个花费的时间,还有W个单向的虫洞,穿越虫洞可以回到一定的时间之前(可看作负边)。问你这个农场主能否通过这些路径和虫洞遇到之前的自己。思路:可以转化成求负环是否存在问题,只要存在负环,就可以无限更新时间,一定有解。SPFA板子即可。BFS版SPFA需要为每个点记录一个入队次数,如果有点入队超过定点数,一定存在负环。#inclu...

2018-07-31 17:28:38 146

原创 POJ2449(dijkstra+A*)

题意:给一个有向图,求起点s到终点e的第K短路长度,没有就输出-1.思路:先用dijkstra处理出所有点到终点的最短路径长度,保存在dist数组中。然后用A*算法,按照g+h从小到大排序,g是到当前点的代价,h是当前点到终点的预期代价,即dist数组。用times记录每个点被找到的次数,每次从队列中弹出一个新的点,就将这个点的times加一,直到第k次找到终点即可。如果dist[s]==...

2018-07-31 14:57:45 2122

原创 POJ3255(次短路)

题意:第一行是点数N和边数R,后面是R条无向边。求从1到n的次短路长度。思路:模板题。#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#include <stack>#inc...

2018-07-29 15:22:43 625

原创 HDU3191 & HDU1688 & POJ3463(次短路及条数)

HDU3191题意:求起点到终点的次短路长度及其条数。思路:在次短路的基础上增加num数组记录路径数。dist[i][0]记录到i的最短路长度,dist[i][1]记录到i的次短路长度。num[i][0]记录到i的最短路条数,num[i][1]记录到i的次短路条数。为node结点增加flag标记,用于分别更新最短路、次短路。有四种更新情况,if (!vis[v][0] &&...

2018-07-29 14:52:59 162

原创 HDU6181(次短路两种写法)

题意:求起点1到终点n的次短路。方法一:用两次dijkstra分别求出起点到所有点的最短距离d1[1...n]和所有点到终点的最短距离d2[1...n]。然后枚举每条边uv,如果d1[u] + uv + d2[v] 不等于最短路,且小于当前答案,更新即可。#include <bits/stdc++.h>using namespace std;typedef long l...

2018-07-28 23:24:36 255

原创 C++中cin、cin.get()、cin.getline()、getline()、gets()、getchar()的用法比较

一、cin最基本的读入函数,从缓冲区中读入一个数字、一个标点或一个字符串,遇到空格、回车、制表符等结束。#include <iostream>using namespace std;int main(){ char s[20]; cin >> s; cout << s << endl;}输入:abcabcabc输出:ab...

2018-05-21 20:37:48 231

原创 unordered_map简单示例

#include<cstdio>#include<iostream>#include<cstring>#include<cmath>#include<list>#include<set>#include<vector>#include<queue>#include&amp

2018-05-21 19:40:48 743

转载 size_t 数据类型

转自https://blog.csdn.net/qq_30866297/article/details/51465473size_t 类型表示C 中任何对象所能达到的最大长度。它是无符号整数,因为负数在这里没有意义。它的目的是提供一种可移植的方法来声明与系统中可寻址的内存区域一致的长度。size_t 用做sizeof 操作符的返回值类型,同时也是很多函数的参数类型,包括malloc 和strlen...

2018-05-21 18:34:31 272

原创 Codeforces Round #484 (Div. 2) D. Shark

题面:D. Sharktime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputFor long time scientists study the behavior of sharks. Sharks, as many other species, al...

2018-05-21 00:43:25 357

原创 Eclipse中的JUnit单元测试拓展

通过前面内容的介绍,对JUnit 有了一个基本的了解,下面我们来探讨一下 JUnit4 中一些高级特性。一、高级 Fixture上一节中我们主要介绍了两个Fixture 标注,分别是 @Before 和 @After ,我们来看看他们是否适合完成如下功能:有一个类是负责对大文件(超过 500 M)进行读写,他的每一个方法都是对文件进行操作。换句话说,在调用每一个方法之前,我们都要打开一个大文件并读...

2018-05-15 18:17:14 298

原创 Eclipse中的JUnit使用手册

一、JUnit概述1.1 简介JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。JUnit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功...

2018-05-08 21:03:31 1165

空空如也

空空如也

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

TA关注的人

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