随笔分类 -  数据结构

摘要:[NOI2016]区间(线段树+尺取法) 题面 在数轴上有n个闭区间 。现在要从中选出 m个区间,使得这m个区间共同包含至少一个位置.对于一个合法的选取方案,它的花费为被选中的最长区间长度减去被选中的最短区间长度。求所有合法方案中最小的花费。如果不存在合法的方案,输出-1 。 分析 看到长度最大最小 阅读全文
posted @ 2020-12-03 16:04 birchtree 阅读(115) 评论(0) 推荐(0) 编辑
摘要:[BalticOI 2016 day1]Park(并查集+计算几何) 题面 在 Byteland 的首都,有一个以围墙包裹的矩形公园,其中以圆形表示游客和树。 公园里有四个入口,分别在四个角落(1, 2, 3, 4)分别对应左下、右下、左上、右上)。游客只能从入口进出。 游客可以在他们与公园的两邻边 阅读全文
posted @ 2020-11-30 15:29 birchtree 阅读(154) 评论(0) 推荐(0) 编辑
摘要:RELATIVNOST (线段树优化DP) 题面 现在有n个人要买你的画,第i个人最多买ai个彩色的画,bi个黑白的画,你现在想要至少有c个人买了彩色的画,接下来有q个修改,每次修改某个人的ai和bi。问你每次修改之后有多少种情况可以满足你的要求。 分析 由于c很小,不妨补集转化,设$f_{i, 阅读全文
posted @ 2020-10-20 15:23 birchtree 阅读(200) 评论(0) 推荐(0) 编辑
摘要:[BZOJ3786]星系探索(欧拉序+非旋treap) 题面、 物理学家小C的研究正遇到某个瓶颈。 他正在研究的是一个星系,这个星系中有n个星球,其中有一个主星球(方便起见我们默认其为1号星球),其余的所有星球均有且仅有一个依赖星球。主星球没有依赖星球。我们定义依赖关系如下:若星球a的依赖星球是b, 阅读全文
posted @ 2020-08-05 13:34 birchtree 阅读(335) 评论(0) 推荐(1) 编辑
摘要:动态DP学习笔记 约定: 若无特别说明,数组下标从1开始. 若无特别说明,矩阵的下标从0开始(这是为了和代码一致,而代码这样实现是为了节省内存) 在公式中,矩阵用粗斜体表示,如\bm 若无特别说明,对于有根树上的结点x,child(x)表示它儿子的集合,son(x)表示它的重儿子 对 阅读全文
posted @ 2020-04-11 20:03 birchtree 阅读(292) 评论(0) 推荐(0) 编辑
摘要:[NOIP2018]保卫王国(动态DP) 题面 给出一棵树,有m组询问,每次询问给出两个点,规定他们必须选或必须不选。求树的最小权覆盖集。 分析 此题有倍增+树形dp的做法,常数非常优秀,但思路比较难想到。 显然 最小权覆盖集=总点权和 最大权独立集 看到最大权独立集,我们想到板子题 "[Luogu 阅读全文
posted @ 2020-04-08 22:07 birchtree 阅读(264) 评论(0) 推荐(0) 编辑
摘要:[BZOJ4545]DQS的Trie(广义SAM+离线+树状数组) 题面 一颗 Trie 树,q 次操作,操作有3种: 1.求这棵树上本质不同的子串数量 2.插入一个子树,保证总大小不超过 100000 3.询问一个字符串在 Trie 树上出现过多少次,保证所有询问串总长度不超过 100000 分析 阅读全文
posted @ 2020-04-03 19:43 birchtree 阅读(211) 评论(0) 推荐(0) 编辑
摘要:[NOI Online 提高组]冒泡排序(树状数组) 题面 略 分析 记fi=j=0i[ajai]表示[1,i1]中比ai大的数的个数。那么逆序对数就是i=1nfi.可以用树状数组预处理得出。 手玩一下冒泡排序过程发现,每冒泡一轮,所有 阅读全文
posted @ 2020-03-24 22:24 birchtree 阅读(248) 评论(0) 推荐(0) 编辑
摘要:[NOI Online 提高组]序列 (并查集+二分图判定) 题面 略 分析 首先不妨令bi=biai,这样我们需要通过一系列操作把所有bi变成0. 我们把每个位置看成点。 对于所有2操作连边。如果两个位置连通,就可以使一个位置+1,一个位置 1.那么对于一个连通块, 无论我们怎么 阅读全文
posted @ 2020-03-24 22:08 birchtree 阅读(222) 评论(0) 推荐(0) 编辑
摘要:[LuoguP6144][USACO20FEB]Help Yourself P(DP+组合数学+线段树) 题面 Bessie 现在有 N条在一条数轴上的线段,第 i条线段覆盖了 "li,ri"的所有实数。定义一个线段集合的并为所有至少被一条线段覆盖的实数。定义一个线段集合的复杂度为该集合 阅读全文
posted @ 2020-03-23 22:03 birchtree 阅读(311) 评论(0) 推荐(0) 编辑
摘要:[SPOJ2666][ZJOI2007]捉迷藏Query on a tree IV(树链剖分)(论文做法) 题面 实际上,捉迷藏是Query on a tree IV的简化版。但区别只是捉迷藏的边权全部为1.这里把两个题合并起来写。 给定一棵包含 N 个结点的树,每个节点要么是黑色(亮灯),要么是白 阅读全文
posted @ 2020-03-17 16:36 birchtree 阅读(258) 评论(0) 推荐(0) 编辑
摘要:[BZOJ 3145]Str(SAM+启发式合并) 题面 Arcueid得知了两者的DNA片段,想寻求一个DNA片段,使得其在两者的DNA中都出现过。我们知道公主的脑袋有点不太灵活,如果两个DNA片段只有一个位置不同,她也会将其认为是相同的。所以请您找出这样的最长的DNA片段吧。 分析 考虑两个串中 阅读全文
posted @ 2020-03-17 15:42 birchtree 阅读(269) 评论(0) 推荐(0) 编辑
摘要:[Codeforces1037H]Security(SAM+线段树合并) 题面 分析 CF什么时候也开始出这种套路题了 和[NOI2018]你的名字几乎一模一样,看到区间串问题,用线段树维护right集合,每次沿着转移边走的时候要判断一下转移到的节点的right集合中是否有在[l,r]内的值. 阅读全文
posted @ 2020-03-16 09:56 birchtree 阅读(230) 评论(0) 推荐(0) 编辑
摘要:[NOI2018]你的名字(后缀自动机+线段树合并) 题面 给出一个字符串S,有q组询问,每次询问给出一个字符串T和整数l,r.问能从T中选出多少个本质不同的子串,满足这个子串在S的区间[l,r]没有出现过。 $|S| \leq 5 \times 10^5,q \leq 阅读全文
posted @ 2020-03-04 22:17 birchtree 阅读(302) 评论(0) 推荐(0) 编辑
摘要:[ARC086E]Smuggling Marbles(树形dp+启发式合并) 题面 Sunke有一棵N + 1个点的树,其中0为根,每个点上有0或1个石子,Sunke会不停的进行如下操作直至整棵树没有石子: 把0上面的石子从树上拿走放入口袋; 把每个点上的石子移到其父亲上; 对于每个点,若其石子数≥ 阅读全文
posted @ 2020-02-05 20:43 birchtree 阅读(230) 评论(0) 推荐(0) 编辑
摘要:[LuoguP4094] [HEOI2016] [TJOI2016]字符串(二分答案+后缀数组+ST表+主席树) 题面 给出一个长度为n的字符串s,以及m组询问.每个询问是一个四元组(a,b,c,d),问s[a,b]的所有子串和字符串s[c,d]的最长公共前缀长度的最大值。 阅读全文
posted @ 2020-01-31 20:14 birchtree 阅读(138) 评论(0) 推荐(0) 编辑
摘要:[NOI2016]品酒大会(后缀数组+并查集) 题面 给出一个 长度为 n 的字符串,每一位有一个权值 val。定义两个位字符为 r 相似,是指分别从这两个字符开始,到后面的 r 个字符都相等。两个 r 相似的字符还有一个权值为这两个字符权值的乘积。问对于 r[0,n1],统计出有多 阅读全文
posted @ 2020-01-31 19:39 birchtree 阅读(175) 评论(0) 推荐(0) 编辑
摘要:[Codeforces 1295E]Permutation Separation(线段树+贪心) 题面 给出一个排列p1,p2,...pn.初始时你需要选择一个位置把排列分成左右两个。然后在两个序列间移动元素使得左边序列的所有元素都比右边的所有元素小。给出每个元素pi从一个序列移动到 阅读全文
posted @ 2020-01-31 12:42 birchtree 阅读(440) 评论(0) 推荐(0) 编辑
摘要:[HAOI2016]找相同字符(后缀数组+单调栈) 题面 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。 分析 我们把两个字符串接在一起,中间加一个分隔符。如AABBBBAA变成$\t 阅读全文
posted @ 2020-01-21 12:02 birchtree 阅读(202) 评论(0) 推荐(0) 编辑
摘要:[BZOJ 1717] [USACO06DEC]Milk Patterns产奶模式(后缀数组+单调队列) 题面 农夫John发现他的奶牛产奶的质量一直在变动。经过细致的调查,他发现:虽然他不能预见明天产奶的质量,但连续的若干天的质量有很多重叠。我们称之为一个“模式”。 John的牛奶按质量可以被赋予 阅读全文
posted @ 2020-01-21 11:30 birchtree 阅读(191) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示