随笔分类 - OJ-bzoj
摘要:题目链接 如果对于每个询问跑一次$dp$,那么$dp[i]$为断开$i$这棵子树的最小花费。 这样的复杂度为$O(n*m)$,过于臃肿。 所以我们要对于每次询问降低这次询问的复杂度。 我们可以发现$m$个关键点,最多有$m-1$个$lca$。 简单证明一下,如果有两个点,会有$1$个$lca$点,如
阅读全文
摘要:题目链接 算是一道比较明显的区间$dp$,但是状态不同往常。 $dp[0/1][i][j]$为拿完第$i$个和第$j$个范围内的所有球后停在左边/右边的最小亏损。 $dp[0][i][j] = min(dp[0][i][j], min(dp[0][i + 1][j] +亏损, dp[1][i + 1
阅读全文
摘要:题目链接 因为题目说可以分组,并且是求最值,所以斜率优化应该是可以搞的,现在要想怎么排序使得相邻的数在一个组中最优。 我们按照宽$w$从小到大,高$h$从小到大排序。这时发现可以筛掉一些一定没有贡献的土地,什么样的土地没有贡献呢?这样的:$h[i]<=h[j]\& \&w[i]<=w[j]$,此时i
阅读全文
摘要:题目链接 如果没有这个修改操作,那么就可以主席树/树状数组乱搞,可以没有如果QAQ。 所以选择莫队来乱搞这个修改操作。
阅读全文
摘要:题目链接 一道思路蛮清晰的题,题目有连边,删边,判断两点是否联通三个操作,因为题目中提到了“任意时刻任意两个洞穴之间至多只有一条路径”这一句话。所以在任意时刻,这些联通块都是树形的。所以不是很像splay森林LCT吗。 所以就是LCT板子了......
阅读全文
摘要:题目链接 斜率优化的经典模型,将序列分成若干段,每段有一个权值计算方法,求权值和最大/小 暴力的dp $O(n^{2})$ dp[i]为1-i的序列的最优解。sum[i]为前缀和,$D(i)=ax^{2}+bx+c$ 转移为$dp[i]=\max_{j=0}^{i-1}dp[j]+D(sum[i]-
阅读全文
摘要:题目链接 这道题用来理解LCT还是蛮不错的,如果是笨重的LCT完全体就会在洛谷上卡常T掉第4组,但是这道题明显可以省略掉很多多余操作。 我们先看看如果按照正常的LCT,会有这样一些操作: makeroot为换根,Link为连边,split为连出棵splay:x-y并将y变为根。 在正常的LCT题目中
阅读全文
摘要:题目链接 思路清晰的发现题意是求最小路径覆盖。 最少路径覆盖:是指在一个有向图中,找出最少的几条路径,用它们来覆盖全图。 先闭包处理一下,然后二分图跑一下。
阅读全文
摘要:题目链接 IDA*的第一道题,移动棋子太麻烦啦,所以移动空格。 因为题目只求15步以内能否到达,所以枚举1-15为步数,然后每次A*的方式估价一下,f=g+h,h为当前状态到目标状态期望步数,g为已经走的步数,f如果超过当次枚举的步数就可以直接返回。 然后可以优化一下,不走回头路。
阅读全文
摘要:题目链接 题目就是赤裸裸的三维偏序,所以用CDQ+树状数组可以比较轻松的解决,但是还是树套树好想QAQ CDQ+树状数组 树套树(树状数组套线段树) 因为空间有限,线段树要动态开点且要写成链表QAQ。
阅读全文
摘要:题目链接 第一次做LCT的题目还有点小激动QAQ 如果将题目所给的关系简化,将弹飞看做是树的根节点,则整个序列就可以看做是一棵树。然后修改操作就是修改一个节点的父节点,查询操作就是查询一个节点的深度。 如果是修改操作,就是先断边再连边,如果是查询操作,就将x与根节点连在一颗splay中,然后查询这颗
阅读全文
摘要:题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2152 问题为求树上有多少个点对路径之和为3的倍数,将每条边对3取余,然后点分治。每次求该子树下到根节点边权和相加分别为0,1,2的子节点个数,分别记为O[0],O[1],O[2]。 则该子
阅读全文
摘要:题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2004 看了很多大佬的博客才理解了这道题,菜到安详QAQ 在不考虑优化的情况下,先推$dp$式子,设$dp[i][j]$为最慢的公交车走到了第$i$站,$[i,i+p-1]$站的状态为$j$
阅读全文
摘要:题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3223 平衡树处理区间问题的入门题目,普通平衡树那道题在维护平衡树上是以每个数的值作为维护的标准,而处理区间问题时,维护平衡树的应该是每个位置的下标,所以平衡树中序遍历时应该是当前区间的样子
阅读全文
摘要:题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2243 线段树+树链剖分,在线段树需要每次用lt和rt两个数组记录当前区间的左右边界的颜色,向上更新时需要判断左区间的右边界是否和右区间的左边界相等。在剖分求LCA的过程中需要在求值之后查询
阅读全文
摘要:题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1047 题目虽然有一个n的限制,但求二维区间最值首先想到的还是RMQ,但是如果按照往常RMQ的写法,空间复杂度是O(n2*(log2(n)2)),而且需要两个求最大最小,所以会爆空间,大概也
阅读全文
摘要:题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1030 最最最常见的多串匹配问题!题目求至少包含一个子串的方案数,则可以转化成全部方案-不包含子串的方案数。 求不包含任何字串的方案数即以所有子串建AC自动机,然后跑dp,dp[i][j]表
阅读全文
摘要:题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2431 dp[i][j]表示有i个数的排列方式中逆序对有j个的方案数。 因为dp这样转移为$dp[i][j]=\sum_{t=j-i+1}^{j}(dp[i-1][t])$ 这样i,j,t三
阅读全文
摘要:题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1072 状压dp,dp[i][j]表示状态为i,对d取余为j的方案数,则有dp[i|(1<<k)][(j*10+a[k])%d]+=dp[i][j],其中k为不在状态i中的数。 同时,因为有
阅读全文
摘要:题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1195 多个字符串匹配问题用AC自动机没跑了,建好AC自动机后,由于要求答案要最短和字典序最小,则在AC自动机上状压bfs搜索,bfs保证搜到的串长度最短,然后每次从A-Z遍历,保证搜到的字
阅读全文

浙公网安备 33010602011771号