对琴吟
文/流凡 我取出一把琴,在雨天的清明;琴声追寻着你的步伐,送来了霖霖。 高山流水,有伯钟的篇章;心之灵犀皆清照的明朗。 我低眉紧蹙,致敬着九重乐礼;你柔声轻起,勾起了三里追忆。 无人的黑山头,诠释铺天的幽寂;捉声的半眼泉,馈予沁人的安谧。 你说我,奏出了一片长安;我说你,吟来了半个江南。
温暖人间相——记录一些感动瞬间
1 20201215 不是最近的事,但是很想分享一下。一次去理发,那家店并不大,后面就是居民楼。当时正是秋天,不冷不热,因而二楼开了窗子。我在二楼洗头,一股饭菜的香味从窗口飘进来,那个为我洗头的小哥似乎是无意间说了一句,“好想念妈妈的饭菜”。顿时感到一阵直击内心的感动。 2 20201215 同样是一件以前的事。一次放学回家,已经是九点多了,也显得…
P5220 特工的信息流 题解
题目链接 @GuidingStar 让我来做这道题目然后我就做了一下,结果因为一个愚蠢的错误调了一个小时代码…… 题意 给定一棵树,维护区间后缀积之和,支持单点修改。 解析 个人觉得没那么难想(嗯,搞死我的是细节)。 我们先考虑线段树上如何维护这个东西。我们可以在维护区间后缀积之和的同时维护一下区间积,然后合并的时候只需要将左区间后缀积之和乘上右区…
P1505 [国家集训队]旅游 题解
题目链接 题意 维护一棵树,支持区间求和,区间最大值,区间最小值,区间取反,单点修改。 解析 这是一道很好的树剖练手题,思维难度不高,代码存在一些细节,本题解主要来说明这一部分,也用来警醒自己做题目时需要注意细节,尽可能避免调代码调半天的情况。 边权转点权 在树剖的两边 dfs 过程中,第一遍可以将边权赋给边端点中深度较大的那一个,即儿子节点。我们…
树链剖分入门学习笔记
这个算法还是比较容易理解的,只是代码调的我有点崩溃(还不是我太蒻了),因此学习笔记写的会比较简单。 本博客参考:PoPoQQQ 的课件;ChinHhh 的博客; attack 的代码启发。 前置 知识点:DFS序、线段树。 然后是一些概念: 重儿子:一个节点的子节点中,$size$(即子树大小)最大的那个。;轻儿子:非重儿子的子节点;重边:一个点到…
平衡树学习笔记——Treap & Splay
也只有我这种蒟蒻会现在才学平衡树吧…… 本博客参考:PoPoQQQ 和 nzhtl1477 的课件;do_while_true, hzwer, 皎月半洒花 和 yybyyb 的代码启发。 其实“参考”也就是我本人在学习时使用的资料。 前置 - 二叉搜索树(BST) 模板题:Luogu5076 关键性质:一个节点 $x$ 左子树所有点的关键字都比 $…
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$ 一定不满足。 找到之后,我…