自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

A_Comme_Amour的博客

如果你认为曾经的你很辉煌,那只能说明现在的你混的还不够好。

原创 回首向来萧瑟处 也无风雨也无晴

转眼间,离开始学OI,也有一年多了,退役也有三四个月的时间了。blog有好长时间没有更。近期处理了一些评论,把之前写的博文(因为OI学的不深不浅,文章也写的不怎么样)中明显的错误,并对有评论提出的建议,都一一做了修正。在这里向,给我指出错误的人表示感谢。感谢你们! 以后,这里的blog还是会常常...

2018-08-09 08:48:30 1578 12

原创 可能是再见

如果这次考不进前100就只能退役了。 20180504

2018-05-04 18:08:08 526 0

原创 [BZOJ 1966] [Ahoi2005]VIRUS 病毒检测(Trie / dp)

题目 传送门 题解 方法一:trie树 标签是AC自动机,但明显不是AC自动机啊,根本没有失配指针的过程,只能叫Tire树吧 我们对每一个单词建立好Tire树之后,在树上进行bfs,进行匹配 代码 #include <cstdio> #include ...

2018-04-24 17:08:03 202 0

原创 [BZOJ2938][POI2000]病毒(AC自动机+dfs)

题目 传送门 题解 这是一道比较锻炼思维的题,让我更加深的理解失配指针的作用 一般的AC自动机都是尽量多的匹配,这道题希望无限长,也就是希望能失配就失配,我们构造出trie树之后,在trie图(注意现在变成了一个图)上找环即可; 几点优化:根据trie树的性质.如果某个点的后缀是病毒,那...

2018-04-22 16:21:27 162 0

原创 [BZOJ3172][Tjoi2013]单词(AC自动机)

题目 传送门 题解 AC自动机 AC自动机第一题,感觉做起来非常不顺,感觉难点在于处理单词重叠的问题 大体的思路应该是,我们把每个单词出现的字母在fail树上进行累加,然后建立bfs序,把单词的字母的ans累加到单词的第一个字母上(应该是这样吧?),输出答案; 另一种实现方法:这是...

2018-04-22 14:32:30 153 0

原创 [BZOJ4516][Sdoi2016]生成魔咒(后缀数组+链表)

题目 传送门 题解 这道题还是比较好的; 要求出每一个前缀本质不同的后缀的个数,那么我们可以把原序列倒过来,然后实际上就是对于每一个后缀求与其它后缀不重复的前缀个数,也即是后缀长度减去height值; 求出某一个后缀对答案的贡献之后,他不应该停留在元序列中对后续答案的求解产生影响,所...

2018-04-18 12:37:09 307 0

原创 [bzoj4566][HAOI2016]找相同字符(后缀数组)

题目 传送门 题解 这里:把两个串用一个很大的字符连接起来,求一个后缀数组。 考虑怎样暴力的算答案。 在rank rankrank数组中从前往后枚举起点,对于每个枚举的起点,都暴力的往后扫,扫的过程中维护一个height heightheigh...

2018-04-17 22:19:12 131 0

原创 [BZOJ1031] [JSOI2007]字符加密Cipher(后缀数组)

题目 传送门 题解 裸 加密序列为所有排列排序之后的最后一个字符 把环展成链,统计答案的时候注意判断在一条链内即可 代码 #include <cstdio> #include <cstring> #include &...

2018-04-17 22:13:24 100 0

原创 [BZOJ3238][AHOI2013]差异(后缀数组+单调栈)

题目 传送门 题解 求一个定值减去所有后缀组合的lcp*2之和 O(n2)O(n2)O(n^2) 枚举所有的1≤i<j≤n1≤i<j≤n1\leq iO(1)O(1)O(1)求出lcp(Ti,Tj)lcp(Ti,Tj)lcp(T_i,T_j);n的范围无...

2018-04-15 09:37:48 161 0

原创 【BZOJ1717】[Usaco2006 Dec]Milk Patterns 产奶的模式(后缀数组+二分)

题目 传送门 题解 求重复至少k次的最长子串长度(可重叠) 求出sa数组和height数组之后,二分出一个长度,判断height数组中大于这个值的数是否有k个 代码 #include <cstdio> #include <cstring&...

2018-04-14 22:05:06 96 0

原创 [IOI1994]北京2008的挂钟(搜索)

题目 传送门Vijos 题解 这是一道比较经典的搜索题 可见ABCDEFGHI九种方案每种最多使用4次,那么九重for循环枚举出出组合情况即可 代码 #include <cstdio> #include <cstring> #...

2018-04-14 06:43:57 834 1

原创 [BZOJ 1217] [HNOI2003]消防局的设立(贪心/dp)

题目 传送门 题解 方法一:贪心 对于深度最深的点,肯定需要设置消防站来覆盖它,那么消防站的选取就有多种方案:父亲。祖父。兄弟。显然放在爷爷那里是最优的; 那么算法:每次选择一个深度最深且没有覆盖的点,在他的爷爷那里设置 一种巧妙的O(n):我们使用单调栈,按照bfs的顺序入栈(先进后...

2018-04-11 17:15:29 211 0

原创 NoiOpenjudge水题选刷之_搜索

1789:算24 给出4个小于10个正整数,你可以使用加减乘除4种运算以及括号把这4个数连接起来得到一个表达式。现在的问题是,是否存在一种方式使得得到的表达式的结果等于24。 这里加减乘除以及括号的运算结果和运算的优先级跟我们平常的定义一致(这里的除法定义是实数除法)。 比如,...

2018-04-10 22:15:43 353 0

原创 小a和uim之大逃离(路径dp)

题目 传送门 在方格里起点终点任取,两个人绑在一起轮流取数,问有多少种方案可以使两个人取得的数在 %kkk 下相等 题解 其实这道题是没有思路的。看了题解。 f[i][j][p][k]f[i][j][p][k]f[i][j][p][k] 表示在 (i,j)(i,j)(i,j)处,两个人...

2018-04-09 13:30:58 139 0

原创 [BZOJ1088][SCOI2005]扫雷(DP/枚举暴力)

题目 传送门 题解 解法一:搜索 我们可以发现,只要第一个位置确定了,下一个就都可以通过右边各自里的数唯一的推出来。 那么结果就只有可能是0、1、2; 那么我们两次chek判断是否合法即可 解法二:dp f [i] [j] [k] 表示第i个位置; j表示有没有地雷 ;k表示下一个...

2018-04-08 22:06:17 164 0

原创 [游记]SDOI2018R1 游玩记

这次旅行就像是NOIp的翻版。 Day -1 出发前一天,骗了一下去年的Day1,结果全都爆零,感觉药丸; Day0 11:30在SLYZ出发,在路上也没有写多少板子,看了看赫胥黎的《美丽新世界》,和《1984》风格差不多,觉得这不是未来的世界而就是现在的世界。 到了核电,酒店还...

2018-04-08 16:04:13 260 0

原创 写给省选前的自己

提前声明:不喜勿喷 省选的前一天晚上,坐在电脑前,写下这些文字。 自从寒假里=绝食般抗争回到OI以来,已经浑浑噩噩地度过了两个月,学了一些之前没有见过的算法和数据结构,也算是写过了网络流; 我基本上每次hu测都是爆炸,几乎失去信心 ; 多项式FFT没有写过数学一窍不通,主席树动态树什么的都...

2018-04-04 23:09:41 278 1

原创 不同子串个数(后缀数组)

题目 传送门 题解 后缀数组的经典应用,重点在于这一句:ans+=(ll)(n-sa[i])-height[i]; 代码 #include <cstdio> #include <cstring> #include &lt...

2018-04-04 06:45:49 441 0

原创 「BZOJ1012」[JSOI2008] 最大数(线段树/单调栈)

题目 传送门 题解 写线段树的话太裸了,但是题意非常难搞,认真读题:其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。–>重新赋值 从题解上看到一种单调栈的写法觉得非常巧妙 利用了题目的特...

2018-04-03 22:15:43 139 0

原创 「BZOJ1878」[SDOI2009] HH的项链(线段树)

题目 传送门 题解 这种统计种类(颜色)的问题总是很恶心;%%%REfun 首先对于所有询问的区间,按照右端点排序; 我们动态维护一棵线段树;从左到右枚举每个点,枚举到一个点: 1 、我们就把他的位置对应的线段树里加上值: 2、同时我们记录上一个同一个颜色的位置,把这个位置在线段树中删除...

2018-04-03 22:08:56 262 0

原创 [USACO11DEC]牧草种植Grass Planting(树链剖分)

题目 传送门 题解 这道题就是把树链剖分中的点标记改成了边的标记,然后我就不会做了; 我么发现,每一个点对应着多个孩子,但是只有一个父亲,于是我们就可以把某个点到父亲的点的边的权值转移到这个点上; 如何防止把最近公共祖先也标记上,这就是树链剖分的一点小变形,找完连头之后左端点+1; 还...

2018-04-01 22:16:42 127 0

原创 [bzoj1861][Zjoi2006]Book书架(平衡树)

题目 传送门 题解 这道题与其他的平衡树是另一种问题,这里的平衡树里面维护的是编号而不是权值。那么就不能用一般的inset 这样平衡树里面的元素就是无序的,我们怎样才能快速查询一个元素的值 Top操作:首先找到原来的位置删除,然后把最左边的点旋转到根,在根的左子树上再插入这个元素....

2018-04-01 22:10:09 110 0

原创 送花(权值线段树)

题目 传送门 题解 写这道题是为了写权值线段树 看到c的范围比较小,按照C为权值建立线段树,c的值就是线段树的叶子位置; 类似于平衡树的做法,查询最左或最有的节点删除 代码 #include <cstdio> #include <cstrin...

2018-04-01 06:48:38 233 0

转载 长期连载_ [置顶]马浩然(AH)语录或机房日常[学习无关]

原文来自Cansult Cute(Cansult)=∞Cute(Cansult)=∞Cute(Cansult) = \infty 我这么可爱是不… TheWinnerOfLife(AH⋅MHR)=∞TheWinnerOfLife(AH⋅MHR)=∞The\,Winner\...

2018-03-31 20:28:42 232 3

原创 [BZOJ1061] [NOI2008] 志愿者招募(最小费用最大流)

题目 传送门 题解 这道题可以说代表了一类题。这道题和最长k可重区间集问题的建图方法是非常像的,并且这种问题都有两种建图方法,下面我来介绍一下; 我们暂且把这种问题叫做“选择区间问题”(口胡)吧;我考虑到当前点选择在某一个区间里面,会对“过去”产生影响,也会对“未来”造成影响(个人理解...

2018-03-31 20:25:56 154 1

原创 [BZOJ1588][HNOI2002]营业额统计(平衡树)

题目 传送门 题解 比平衡树模板还要简单的板子题; 就是每次插入一个元素,求其前驱和后继即可,求差累加较小值即可;我们可以事先再平衡树中插入 -inf 和 inf; 注意元素是课重复的,cnt数组就不要用了 代码 #include <cstdio> #...

2018-03-31 14:16:32 144 0

原创 「BZOJ2243」[SDOI2011] 染色(线段树+树链剖分)

题目 传送门 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段), 如“112221”由3段组成:“11”、“222”和“1”。 请你写一个程序依次完成这m个操作。 题解 这道题很好; 可以看出框架就是树链剖分,就...

2018-03-31 14:10:35 94 0

原创 [USACO16FEB]负载平衡(枚举暴力/模拟)

题目 传送门 题解 这道sb模拟都写不出来,还搞什么线段树,枚举切的边就可以过 代码 #include <cstdio> #include <cstring> #include <algorithm>...

2018-03-29 12:09:07 186 0

原创 [USACO10FEB]慢下来Slowing down(线段树+dfs序)

题目 传送门 题解 这道题还是比较好的; 我们先考虑树形成一条链的情况,那就成了单点修改 区间查询操作,都是线段树的基本操作; 那么我们就使用dfs序的方法,把它变成一条链,那么某棵子树的区间就是 dfn[i]+tot[i]-1,进行区间修改,单点查询; 通过dfs序,我们实现了从...

2018-03-28 09:03:33 94 0

原创 [bzoj1503][NOI2004]郁闷的出纳员(平衡树)

题目 传送门 题解 这道题还是比较好的 平衡树第一题,所以代码打的并不熟练 题目要求使用一种支持点的插入、删除,求名次的数据结构,平衡树当然是首选 题目中的加减操作都是对于所有员工的,我们不可能对所有的点进行修改,于是我们在开一个变量delta,用来记录所有的员工的工资的变化量,那么某...

2018-03-27 20:40:30 564 0

原创 [bzoj4698][SDOI2008]Sandy的卡片

题目 传送门 题解 以后字符串的题就都打暴力了 后缀数组 多个串的最长公共子串 只要有n个>=len的height且其首字母属于不同的串就可以了 代码 后缀数组 #include<iostream> #include&lt...

2018-03-26 22:08:37 110 0

原创 【模板】树状数组

单点修改区间查询 #include<cstdio> #include<cstring> using namespace std; int n,m,a[1000001],c[1000001]; int lowbit(int x) {retur...

2018-03-26 22:01:47 72 0

原创 [bzoj1227][SDOI2009]虔诚的墓主人(线段树/树状数组)

题目 传送门 题解 我在考场上写的是O(nm),找到一个空地就分别取上下左右的树的数量分别为a,b,c,d,那么这块 墓地的值就是C[a][k]*C[b][k]*C[c][k]*C[d][k]; 思路是没错的,我们考虑怎么使用数据结构优化时间和空间; 首先我们把每棵树按照y为第一关键...

2018-03-26 20:32:05 227 0

原创 [20180325 hu测]舞动的夜晚(最大流+Tarjan缩点)

题目 传送门 Contest Hunter 是个好地方 题解 首先感谢@xp学长的讲解 这是道网络流好题; 原来理解错了题意,然后WA的非常惨。并不是跑一个sb最大流输出方案; 也就是使二分图最大匹配减少的边的数量; 算法如下: 我们先随便跑出一个最大流,在残余网络上进行...

2018-03-26 09:47:53 216 2

原创 XOR的艺术(线段树)

题目 传送门 题解 比线段树2还要简单;异或的操作 代码 #include<cstdio> #include<cstring> #include<algorithm> #include&...

2018-03-24 20:12:46 142 0

原创 [bzoj1412][ZJOI2009]狼和羊的故事(最小割)

题目 传送门 题解 这道题还挺简单的;要求割最小的边使狼和羊两个集合互不相交,一眼看出连边求最小割; 怎么建图呢?S向所有的羊,所有的狼向T,容量都是inf;在矩形中相邻的羊和狼连边,容量为1; 对于0的点怎么处理呢,我们把它默认为羊,羊向0, 0向狼连边即可容量均为1; 这么简单...

2018-03-24 20:08:02 169 0

原创 [网络流24题]魔术球问题(二分图匹配)

题目 传送门 题解 和最小路径覆盖问题实际上是一道题,想一想,在每个路径上放球,不就相当于求出一条路径嘛?然而这道题是 “给出规定的路径数,求路径当中点的个数最多的一种方案”; 或许会想到类似星际战争的二分枚举,但这是多此一举的;因为柱子的个数随着球的个数单调不下降(想一想为什么;这里...

2018-03-23 22:02:22 94 0

原创 [网络流24题]最小路径覆盖问题(二分图匹配)

题目 传送门 题解 原理:最小路径覆盖数=点数-匹配数; 很好理解:两个点可以匹配,相当于是放到并查集里面,并查集的个数就是路径的条数; 但是我对建图的理解一直就是错误的; 我原来跑了二分图染色分成了两个集合,在里面跑二分图匹配;错误之处在于我错误的没有拆点; 于是我又认为每个点...

2018-03-23 19:34:17 231 0

原创 [USACO07OPEN]城市的地平线(线段树/优先队列)

题目 传送门 约翰带着奶牛去都市观光。在落日的余晖里,他们看到了一幢接一幢的摩天高楼的轮廓在地平线 上形成美丽的图案。以地平线为 X 轴,每幢高楼的轮廓是一个位于地平线上的矩形,彼此间可能有 重叠的部分。奶牛一共看到了 N 幢高楼,第 i 幢楼的高度是 Hi,两条边界轮廓在地平线上的坐标是 A...

2018-03-23 18:16:23 457 0

转载 新青年宣言

(来自AH) 序言 一团浓雾,新时代青年的浓雾,在全球上空弥漫。为了驱散这吞没他们的浓雾,旧世界的一切势力,主席和领袖,总统和首相,各资本主义国家的财阀同各社会主义国家的机关,激进派的舰炮同保守派的锁链以及中间派的囚笼,都已协作起来准备对它进行残酷的联合绞杀。 有哪一个青年的雄心壮志不会...

2018-03-22 13:44:55 1193 1

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