分类: 题解

62 篇文章

P5220 特工的信息流 题解
题目链接 @GuidingStar 让我来做这道题目然后我就做了一下,结果因为一个愚蠢的错误调了一个小时代码…… 题意 给定一棵树,维护区间后缀积之和,支持单点修改。 解析 个人觉得没那么难想(嗯,搞死我的是细节)。 我们先考虑线段树上如何维护这个东西。我们可以在维护区间后缀积之和的同时维护一下区间积,然后合并的时候只需要将左区间后缀积之和乘上右区…
P1505 [国家集训队]旅游 题解
题目链接 题意 维护一棵树,支持区间求和,区间最大值,区间最小值,区间取反,单点修改。 解析 这是一道很好的树剖练手题,思维难度不高,代码存在一些细节,本题解主要来说明这一部分,也用来警醒自己做题目时需要注意细节,尽可能避免调代码调半天的情况。 边权转点权 在树剖的两边 dfs 过程中,第一遍可以将边权赋给边端点中深度较大的那一个,即儿子节点。我们…
CF717E Paint it really, really dark gray 题解
题意 题目链接 有一棵树有粉点有黑点,从根开始走,每走到一个点都会改变颜色。求一种方案使所有点变成黑色。 解析 我们考虑使用递归的方式寻找答案。假设一棵树的深度只有 $2$,那么我们只需要从根开始,找到粉点,走过去再回来,重复几次,就可以使下一层的所有点变为黑色。 以这种方式一层一层染色,最后对于根节点,如果为黑色不用处理,否则,走下去,走回来,再…
CF161B Discounts 题解
解析 题目链接 题意很清晰了。 我们考虑凳子的折扣情况。由于凳子本身也是一个物品,那么如果存在一个比凳子贵的物品在购物车中,那么打折的是凳子,如果有一个比凳子便宜的物品在购物车中——那还不如给凳子打折呢!合着这个商场就是给凳子打折而已。 因此,由于凳子的打折情况最优就是给自己打折,那么我们将凳子按照价格排序,对于前 $k-1$ 辆购物车,每辆购物车…
AT3959 [AGC024B] Backfront 题解
题意 题目链接 从一个 $1 \sim n $ 的排列中不断选择元素放在头或尾,最终使其有序,询问操作次数。 解析 首先容易发现,至多操作 $n$ 次一定能够使其有序(一个一个拎出最小的或最大的)。 然后我们发现,$n$ 次可以变为 $n-1$ 次,我们先随意确定一个数,比它小的按顺序拎到它左边,后边亦然。 接着我们考虑,能否从确定一个数变为确定一…
CF223B Two Strings 题解
题意 题目链接 询问是否:对于 $s$ 中每一个 $s_i$,都找的到一个包含它的 $s$ 的子序列(不是子串)与 $t$ 相同。 解析 首先我们考虑,必须要按顺序找到第一个子序列,否则一定是 No。 例如,若 $t=abcd$,$s$ 的前几项可以为 $aabbbcdd$,但是不能为 $acbcd$,因为第一个 $c$ 一定不满足。 找到之后,我…
CF629C Famil Door and Brackets 题解
题意 题目链接 给出一个长度为 $m$ 的括号串,在其前后增添字符构造长度为 $n$ 的合法括号串,求方案数。满足 $n-m \le 2000$。 解析 容易发现这是一道 dp 且复杂度基于 $n-m$。 我们已知中间的那条括号串 $S$,需要构造出左边的 $P$ 和右边的 $Q$(当然也可能为空)。通过 dp 方程转移时,考虑需要满足的两个条件,…
CF761E Dasha and Puzzle 题解
题意 题目链接 大体见翻译。注意树被"拍扁"到平面中之后,要求所有边都与坐标轴平行,且所有点是整点。 解析 首先有一件很显然的事情,就是如果有任意一个点的度数大于 $4$,结果一定为 $-1$,因为由于边的方向只有上下左右四种,所有第五条边是无论如何也无法连出去的。 接着考虑对于可行的情况,我们只需要满足没有任何两条边相交就可以了。那么我们考虑什么…
CF1157B Long Number 题解
已有的题解或是说的太麻烦了,或是一笔带过,本篇题解决定简明扼要地好好讲一讲。 题意 题目链接 大体题意不再阐述,注意你只能根据给出的规则更换一段数而不能隔开来换就好了。 解析 已有的题解也都提到了,遇到第一个 $b_{num_i}>num_i$ ( $b$ 数组为更换规则,$num$ 数组为每一位的数字)时开始更换,一直更换到 $b_{num…
CF1157A Reachable Numbers 题解
作为一道 CF 的 A 题,私以为现有的题解都把这题做麻烦了或是太过于暴力了,决定提供一种其他的解法。 题目链接 题意非常明朗,不再赘述。 解析 作为 A 题,显然这题是可以通过数学方法解决的,因此虽然数据范围的确可以暴力过,但是我第一个想到的并不是暴力。 我们首先考虑到,如果只有一位数,显然是一定会产生 $1 \sim 9$ 这 $9$ 种情况的…