自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

既然弱小,就只顾变强就是了

不想Wrong,就不要给Wrong找到理由;不后悔尝试,但愿每个尝试的结果都能Accept。

  • 博客(65)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 P4197 Peaks【Kruskal重构树上dfs序跑时间戳建可持久化线段树】

题目链接 怎么说呢,虽然码量有点长,但是一遍调过还是很开森的哈哈哈哈哈哈哈!嗝~~~ 首先“困难值小于等于x的路径”,那么,其实就是Kruskal重构树的暗示了,之后又不带边权的修改,那么更显然是Kruskal重构树了!然后就是树上不带修改的询问第K大,其实就是暗示着主席树了,所以这里必须是要去建可持久化线段树的。 然后就是树上跑可持久化线段树的问题了,之前试过了启发式合并,...

2020-01-31 22:30:03 278

原创 P4962 朋也与光玉【状态压缩+SPFA】

题目链接 最初的时候,我用了N个点,以每个点为起点都去跑一遍SPFA,但是这样的做法只能获得56分,然后就TLE了。 然后,就是想办法更进做法了,于是,可以琢磨一下题目中的每个点都是只能被经过一次,而且每个点都有个自己的状态,于是乎,我们似乎可以去用每个点从满状态跑到0状态来更新答案。一开始,每个点都是能经过其他所有状态的点,后来,每经过一个点便是少一种状态,利用这种方法,我们去求更新...

2020-01-31 17:23:55 127

原创 最短距离 P4949【树链剖分】

题目链接 有N个点,N条边构成的连通图的话,那么其实就是比树多了一条边,我们可以把多出来的任意一条可替换边存出来,然后对剩下的点来看是要直接走,还是经过这条边的呢?那么,就是树链剖分的维护操作了。#include <iostream>#include <cstdio>#include <cmath>#include <string>...

2020-01-31 13:57:21 199

原创 DeBruijin 【HDU - 2894】【欧拉回路】

题目链接 可以说这题是着实有趣了! 题意:我们给出一个K,现在我们想最多的表示从~的数(也就是00……0~11…… 1(0、1都是K个)),譬如说K=3,我们可以用字典序最小的“00010111”按顺序的用二进制表示“000、001、010、101、011、111、110(环)、100(环)”这8个数,很显然,我们是一定可以构成个的。并且,最后的答案要求是字典序最小的。 思路:我...

2020-01-31 10:27:20 156

原创 欧拉回路、欧拉通路、欧拉图、半欧拉图等有关欧拉图的讲解与代码实现

有人说,图论的起源,就是源于欧拉图(千万别看成柏拉图)——题记首先,先要讲一些有必要知道的东西:当然,我在这里也写过,这里再给出一些拓展的内容欧拉通路: 通过图中每条边且只通过一次,并且经过每一顶点的通路欧拉回路: 通过图中每条边且只通过一次,并且经过每一顶点的回路有向图的基图:忽略有向图所有边的方向,得到的无向图称为该有向图的基图。欧拉图与半欧拉图:欧拉图指的是给出...

2020-01-30 16:52:07 2328

原创 John's trip 【POJ - 1041】【欧拉回路】

题目链接先说一下这道题的题意吧。 输入到0 0结束,有一共N行输入,表示有N个街道,题目中保证了街道的标号一定是1~N且不会出现相同的街道。输入“x y z”表示x和y通过z号街道相链接(无向图)。现在,题目问的是,原图是否会形成一个欧拉回路,如果可以形成的话,输出的是所有欧拉回路中,字典序最小的(输入是输入边的序号,也就是“z”)。如果没有,则按题目输出,注意最后一个句号。 关于...

2020-01-30 11:03:32 152

原创 [CTSC2008]祭祀river【最大独立集】

BZOJ 1143 有N个点,M条有向边,题目保证不会构成环。我们要知道最多可以选择几个点,保证所选的点没有一个点可以到达其余点。 相当于是,我们可以把题意简化,如果能到达的点,我们都链接一条有向边,于是乎,不就成了一个最大独立集的问题了嘛,譬如“u -> v”就是意味着u、v只能选择其一,利用最大独立集等于总点数减去最大匹配,我们可以利用匈牙利算法来求得最大匹配。 对了,...

2020-01-29 10:27:43 163 2

原创 Play on Words 【POJ - 1386】【欧拉通路】

题目链接 题意:给你N个字符串,问任意组合是否存在一条完整的链,将他们拼接在一条链上,拼接的条件的:如果要把v 拼接在u 的后面,那么需要的是u的最后一个字符等于v的首字符。 思路:直接就是欧拉通路的判定条件了:是否只有一个联通块 是闭环吗(欧拉回路) 不是闭环的话,那么就是欧拉通路了,此时由于是有向图(字符串不可颠倒),所以呢判断出入度条件 出度大于入度,(大1个单位)只能...

2020-01-27 20:07:52 131

原创 Watchcow 【POJ - 2230】【欧拉回路】

题目链接 一道简单的题,被我给整复杂了。欧拉回路。 题目的要求是,给出N个点,M条边,并且呢,M条边要经过两次,一次是从u到v,那么下一次就不能走u到v了,只允许走v到u了。 那么,不就是相当于题目把欧拉回路的图都给搭建好了嘛!于是乎,直接跑,欧拉回路的模板了。 然后呢,因为每条边都会用,且仅会被使用一次,我就想到了Dinic的cur[]优化,于是呢,我每次跑完就是head...

2020-01-27 17:12:30 176

原创 Ant Trip 【HDU - 3018】【欧拉通路一笔画问题】

题目链接 欧拉通路与欧拉回路不同,欧拉通路其实不强制要求走回。也就是不要求最后从哪开始,然后再回到哪。 这道题,是问的我们需要走几次一笔画?那么,很显然,考虑入度出度以及连通性。 在同一个联通块中,我们可以拆分成如下几种可能:形成闭环,无奇数度结点情况(一笔画) 有X个奇数度,X为偶数(X / 2笔画) 有X个奇数度,X为奇数((X + 1)/ 2笔画) 所以,我们根...

2020-01-27 14:35:53 174

原创 The Necklace 【UVA - 10054】【欧拉回路】

题目链接 一道欧拉回路的经典问题! 题意:有N条边,我们要用这N条边首尾相接的拼接成一个环,也就是相同颜色可以相互链接,问他们能不能构成一个环?并且按照你的欧拉回路跑的顺序去输出这N条边的排列(SPJ)。 思路:很明显的就是一个欧拉回路问题了,但是不要忘记判断它本身是一个连通图的问题,所以要用并查集维护一下,其次呢,要看看有没有点的度为奇数,如果有奇数的话,那么就GG了,是构不成...

2020-01-26 21:04:36 216

原创 倍增法——解决LCA求树上两点最近公共祖先问题

在我们学过RMQ之后,我们知道了倍增法的原理,利用一个二的幂次来维护了每个以2为底数的区间长度。其实简单的说,就是一个合并问题,一个2可以有两个1组成,而一个4可以由两个2组成,以此类推。所以叫做倍增。倍增法通常能用以解决线性问题,譬如区间的最大值,当我们固定左端点的时候,当右端点不断向右移动的时候,不难发现,该区间的最大值也是单调不减的。 好了,一通乱讲之后该回归主题了。 现在,...

2020-01-26 15:59:02 680

原创 King's Quest 【POJ - 1904】【完美匹配的替代方案(Tarjan强联通)】

题目链接题记 —— 完美匹配:二分图的左右两边的所有结点都能得到对面的结点的匹配,并且每个点仅可使用一次。 题意:有N个王子,N个公主,每个王子都有Ki个自己喜欢的公主,现在国师给他们配对,让每个王子娶到自己的某个心仪的姑娘。但是,王子们的父亲,也就是国王,并不满足于此,他想知道,每个王子最多可以选择哪几个公主中的一个来成亲,使得其他的王子还能娶到自己心仪的姑娘中的一个。简而言之,某个王...

2020-01-25 23:44:32 392

原创 匈牙利算法【匹配问题】

匈牙利算法:匈牙利算法几乎是二分图匹配的核心算法,除了二分图多重匹配外均可使用匈牙利算法实际上就是一种网络流的思想,其核心就是寻找增广路。具体操作就是嗯。。拉郎配匈牙利算法适用的场合:二分图匹配 链上的匹配问题 一般图匹配等其他点的个数较小的匹配问题举个以前写的博客的例子通过数代人的努力,你终于赶上了剩男剩女的大潮,假设你是一位光荣的新世纪媒人,在你的手...

2020-01-23 20:21:06 3225 1

原创 Taxi Cab Scheme 【HDU - 1350】【匈牙利算法解决最小链覆盖】

题目链接 这道题用以理解匈牙利算法是一道很不错的题。先讲讲题意吧。 题意:有N个人,他们在特定的时间(hour : minute)要从地点(a, b)前往地点(c, d),然后呢,我们如果说前一个人i的出租车可以开回来再接j这个人,那么他们就可以少叫一辆出租车了。现在,题目想知道最少的需求的出租车的个数。 思路:看到这样的问题的时候,很容易让人想到最小链覆盖等于最长反链这样一个性...

2020-01-23 16:00:49 318 2

原创 Instrusive 【HDU - 5040】【2014 北京 BFS】

题目链接 一道有着很多需要细节的地方需要注意的题,挺不错的。 这题的数据也是给的很好,然后讲一下题意吧。 题意:有一个N*N的网格,有起点M和终点T,我们从起点需要走到终点,每一步需要花费的时间是单位一。但是呢,我们不能被摄影机拍摄到,摄影机是在一秒内由某个方向旋转到另一个方向的,而人也是走到下一个点不是瞬时移动的,而是经过一秒的时间(延续性动作)走到下一个地点(只能朝东南西北—...

2020-01-22 23:04:50 179

原创 从Dinic到ISAP,从余流推进到最高标号的预留推进HLPP(究极最大流算法)

题目链接——很好的一道对于网络流提升的题Dinic首先,这道题真的将Dinic算法卡到了它的上界,也就是,在这道题中,使用一般的Dinic最后会获得40分。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cst...

2020-01-22 16:03:13 1914

原创 Drainage Ditches【究极最大流算法之ISAP】(Improved Shortest Augmeng Path)

题目链接(一道模板的最大流问题) 我们都知道,Dinic算法求最大流的时候,每次都是需要去重新跑一遍分层图,那么现在有没有什么不需要再这样一次又一次地跑一遍分层图的做法呢? 我们知道,其实每次改变的深度是不多的,所以由这里去进行优化,于是有了ISAP这个只需要跑一次分层图的算法。时间复杂度上界是,但是随机数据的时候就跑的飞快了!也就是上界比较的松了。 Improved Sho...

2020-01-21 10:02:48 183

原创 Picture 【HDU - 1828】【对于扫描线更新的一些特殊情况】

题目链接这个问题,在以前写过博客,但是今朝再来看,属实还存有一些问题未曾解决举个例子,我们来画一张图,并且给每个边标个序号。 如图,我们有4条边,按照之前想的办法,我们进行处理,我们先放进去1这号边,再放入2这号边,实际上,这时候我们已经把下面的那个矩形块的周长完全计算了一遍,这时候其实我们已经算了2号的这条边,但是呢,我们再放进去3这号边的时候,其实又要去把3这号边的值给计算一...

2020-01-19 09:21:10 1623 2

原创 Walking Around the Country 【OpenJ_POJ - C17E】【欧拉通路】

题目链接 题意:有N个点,M条边,给出“u v w”表示u到v要至少经过w次,并且整张图是完全连通图(有向图)。问的是最少的次数走完所有大额M条边。 思路:由于,所以我们完全可以当作只有条边,我们要跑完这条边,所以既然是跑完所有边的做法,那么不就是欧拉通路就可以做到了。比赛的时候利用了出度减入度的最大值出的方式利用了set来维护,TLE了,之后一直魔改,赛后补题。 这里的话,原来...

2020-01-19 09:03:42 323

原创 纸飞机【最小链覆盖等于最长反链】

牛客挑战赛36 C 题目链接 题目想知道的是最长严格下降子序列的最少个数用以覆盖完N个数。也就是最小链覆盖问题了。 那么,我们反过来想,最长反链,我们求得最长不递减序列的个数,如题,“2 4 3 1 5”中“2 4 5”就是最长的不递减系列了,那么,从2、4、5中各个点起飞是不是就可以覆盖完整个链了,所以这就是最长反链了。 然后,现在就是想知道,我们删除一个元素会不会使得最长反链...

2020-01-18 11:13:36 1924 5

原创 Acesrc and String Theory 【HDU - 6661】【后缀数组】

题目链接 题目问的是有多少个K连续重复子串,即连续出现K次的重复子串。 思路:肯定是往后缀数组上想,但是中间出了点差错。 错误一:在特判K==1的时候,应该是子串的数量,而不是文本串的长度,那么子串的数量就是。 错误二:在我们枚举长度L的时候,算他们同时包含i和i + L的且连续出现次数大于等于K的时候的贡献,我算的贡献是前面往后有几种排列组合。但这是错误的,可以用整个的长...

2020-01-17 09:19:44 300

原创 I Love Palindrome String 【HDU - 6599】【回文自动机跳fail指针(trans指针)】

题目链接 题意:求每个回文长度下的满足以下要求的回文串的个数,满足l~(l + r)/2的串也是个回文串,并且原串也是回文串。输出长度为1~N的各个长度的答案。 思路:我一样是推了trans指针,trans指针求的是为原串最长回文后缀长度一半(向上取整)的回文后缀子串。然后,我们就可以通过trans先跳一下,然后不断的找fail知道可以匹配即可。#include <iost...

2020-01-15 21:11:11 238

原创 Maximum repetition substring 【POJ - 3693】【后缀数组求重复次数最多的连续子串】

题目链接 题目中给出一个串,问的是它的重复次数最多的连续子串,并且输出,如果有多个可能,输出字典序最小的。 然后去大致的浏览了一下一些关于论文中重复次数最多的连续子串的介绍,发现可以枚举连续子串的单个子串的长度来解决这个问题,我们从1~N的枚举长度L,然后每次查询的是,所以这里的时间复杂度是的(调和级数),然后就是如何判断的问题了。 我们枚举每一个长度,如果说有个序列包含在字符串...

2020-01-15 16:24:09 171

原创 Color it【HDU-6183】【CDQ分治套线段树】

题目链接 题目中有这样的三种操作:清空 添加颜色进(x,y)这个点颜色c 查询(1,y1)到(x,y2)区间内有几种颜色 一开始的时候我直接写了个二维主席树,但是就是RE过不去,但是开大点就会TLE了,所以实在没法,只能想别的办法来做。 这里的突破口还是在这个“1”上面,我们其实可以看作是查询一个前缀和的形式,但是限制条件y的范围在[y1, y2]之间。 所以,我的做...

2020-01-14 22:02:04 226

原创 [SHOI2011]双倍回文【回文树跳trans指针】

P4287 [SHOI2011] 看到有两个相等的回文的时候,第一的想法就是去用后缀数组加上回文树维护一下,但是推了很久,被"aaaaa"这样的例子给卡住了,然后就去想可不可以魔改一下回文树的跳转指针呢? 这里我用了贪心的办法来更改指针,也就是我们既然需要两个由相同回文串构成的回文(双倍回文),那么它长度为它的一半所在的后缀的位置也一定要求是回文了。所以,在这里引进“小于等于当前回文长...

2020-01-14 15:57:35 210

原创 最长双回文串【BZOJ 2565】【回文树】

BZOJ 2565 要求的是最长双回文串的长度,也就是一个串由两个回文串拼接而成。那么,我们不妨从前往后跑一次回文树,然后再从后往前跑一次分别知道以它为最后一个的回文串,和以它为第一个的回文串,知晓回文后缀与回文前缀,那么不就可以开始拼接了嘛。想了半天怎么跑fail,没想到竟然这么的简单,做复杂了。#include <iostream>#include <cstdi...

2020-01-14 13:30:30 237

原创 [APIO2014]回文串【回文树(回文自动机PAM)】

P3649 第一次对于回文树的运用。 一道回文树的模板题,我们最后只需要统计一下回文树中每个串的出现次数乘以每个串的不同串的个数。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cstring>#inc...

2020-01-14 09:32:15 240

原创 Musical Theme 【POJ - 1743】【后缀数组 + 二分答案】

题目链接 被卡了一会题意,是这样的,有N个值,我们现在想知道的是有最长的不重叠的变化率相同的子串的长度。也就是如果有9个数(0,0,0,0,1,0,0,0,0),那么变化率相同的就是(0,0,0,0),他们是变化相同的,并且出现次数不止一次。 思路,我们可以用后缀数组的height数组来知道答案,因为存在线性关系,所以我们可以二分的来长查找这个答案。我们把字符串存成变化率的形式,也就是...

2020-01-14 09:02:48 144

原创 Anti-Rhyme Pairs 【UVA - 12338】【后缀数组】

题目链接 题意:有N个字符串,现在给出了Q次查询,询问的是第i个字符串和第j个字符串最长相等的前缀有多长? 思路:直接上后缀数组,我们知道了每个字符串的起点的下标,然后我们可以通过返回其rank值的办法来知晓它在SA中的所在的位置,然后直接查区间的最小值即可。时间复杂度级别。 对了,千万要开够内存空间,因为这道题确确实实的卡了RE,千万要开够。#include <io...

2020-01-12 10:40:18 162

原创 Milk Patterns 【POJ - 3261】【后缀数组】

题目链接 题意:给一个长度为N的串,问你其中出现次数大于等于N次的子串的最长长度。 思路:直接上后缀数组,但是要有个注意事项,也就是值是从0~1e6的,所以呢,SA处理的时候,需要考虑“0”的情况。那么,就是给每个元素“+1”处理,就可以做到这个了。#include <iostream>#include <cstdio>#include <cma...

2020-01-12 09:30:08 123

原创 Blue Jeans 【POJ - 3080】【后缀数组模板+尺取区间最小值】

题目链接 求解多个串最长相同元素模板给出N个串,求N个串中的出现长度最长的公共相同子串。如果有多个相同的,输出最小字典序的那个。如果长度小于3,则输出题目中所给出的。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <c...

2020-01-11 22:19:40 151

原创 Common Substrings 【POJ - 3415】【后缀数组+单调栈】

题目链接 不会做的时候看了网上的代码,但是发现他们都没有讲过程由来,这里我就大致的讲一下我和队友推出来的解题思路了。 题目中,给出了一个K和两个字符串,我们现在想要知道的是,在两个字符串中出现长度大于等于K的相等子串这样的匹配对有几个? 首先,考虑相等子串,确确实实的往后缀数组的LCP上想,也就是往height[]上靠,然后呢,就是求解的办法了,先想想看的解决办法,也就是从K~N...

2020-01-11 20:50:46 219

原创 Life Forms 【POJ - 3294】【后缀数组+尺取】

题目链接 我们这次要查询的是N个串中出现次数大于一半的串的子串的最大长度,并且按照升序输出所有满足这个最大长度的这样的子串。 所以还是使用到了后缀数组,但是问题来了,我们可以很方便的处理出来最大长度(尺取+区间最小查询),然后就是如果遇到了3个“aa”,我们的输出中会两次输出“aa”这当然是output所不允许的! 我们在处理相同串的时候考虑到,相同的前缀,一定是连着出现的,也就...

2020-01-09 17:13:54 164

原创 Corporate Identity 【POJ - 3450】【后缀数组+尺取】

题目链接 题目要求N个子树中的最长公共相同子串,如果有多个的话,输出字典序最小的。 当然很多人是用KMP来写的,这里我的做法是用后缀数组+尺取,当然后缀数组+二分答案也是可行的解。我们先把所有的串放到一个长长的串中,并且都用一个大符号隔开,我们知道对于后缀数组sa,是按照字典序来排序的,所以我们这边其实已经处理好了同种长度下字典序最小的问题了,接着,我们就是要去处理最长的长度了,我们可...

2020-01-09 15:52:07 150

原创 Long Long Message 【POJ - 2774】【后缀数组模板】

题目链接 题意就是找两个字符串中最大相同子串。 总结一些写后缀数组的经验教训吧,第一次写,就WA了10+次,一是没有考虑到桶排不是只有字符串中字符的个数,而是会扩展到字符串的长度,所以在这里的时候我不能只开128,应该去开到N的长度。再者,就是对于height数组的处理,height求的是lcp(i, i-1),其中,i和i-1是对应的sa[i]和sa[i-1],所以在字符串中的位置仍...

2020-01-09 10:28:08 131

原创 Summing in a Tree 【HackerRank - summing-in-a-tree】【Dsu on Tree】

题目链接 题意:有N个点,下标从0开始,问的是有多少个子树满足给出的H+1个条件,H代表深度(从0开始),每个深度要求对应的结点的个数是大于等于ai的,满足其一就要加入贡献。 思路:直接Dsu,但是由于重儿子上面的贡献会被直接储存,所以求重儿子的时候,我们需要的是直接加上他的答案即可。#include <iostream>#include <cstdio&gt...

2020-01-08 11:34:03 220

原创 [COCI2015]Divljak【AC自动机+fail树+LCA】

题目链接 P5840给一组比较强的样例(我刚好是过了这个才过的):3aabacc21 aabacc2 2ans:1然后,讲一下思维的过程: 刚看到这个问题的时候,卡在了怎样去处理“访问到仅能算一次”,而不是“访问到几次就算几次”。大白话的意思就是“aaaaaa”里有6个“a”,但是我们只能对“a”算一次,所以,返回到fail树上去。 现在看到fail树,我...

2020-01-08 09:57:01 267

原创 [NOI2011]阿狸的打字机【AC自动机fail树+树状数组】

题目链接 P2414 题目给出N个字符串,我们现在想知道的是第x个字符串在第y个字符串中出现的次数是多少次? 求每个字符在其余字符中出现次数,想到从AC自动机上走,其实可以看作是求它的后缀的前缀中有多少个是满足的,换言之,我们可以去fail树中的父亲结点中查询。就譬如说对于aa和aabaa两个字符串,我们搭建字典树 并且对应上fail指针,我们可以知道,aa出现的次数为两...

2020-01-07 18:18:43 240

原创 Tree-String Problem 【CodeForces - 291E】【倍增(LCA)+哈希】

题目链接题意:给你N个点的树,树上的边的权值是一个自上往下的字符串,然后我们再给出一个字符串,是模式串,我们现在想知道模式串在树上的出现次数,譬如说样例。 我们查找的是aba,它在1——4这条链上出现了2次,在1——5上出现1次,在2——3上出现2次,在2——6上出现1次。这道题的做法不是唯一的,譬如说AC自动机也可以解决这个问题。 思路:因为长度确定为模式串的长度,...

2020-01-07 10:31:13 543

74LS90的功能表.doc

74LS90的简介。功能以及其引脚的作用。包括其作用,对应的功能表,74LS90为中规模TTL集成计数器,可实现二分频、五分频和十分频等功能,它由一个二进制计数器和一个五进制计数器构成。

2019-05-10

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

TA关注的人

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