随笔分类 - NOIP-思想-启发式合并
摘要:题意 思路 首先有一点是肯定的,掉落的形状会像一个三角形一样。(因为总体的排列像砖墙一样,所以掉落范围只能缩小不能扩大) 于是我们可以维护初始的所有区间,然后在向上转移的过程中合并区间、统计答案。 代码
阅读全文
摘要:题意 给定一个有多种颜色组成的序列,以及两种操作: 1. 将某种颜色全部染成另一种颜色。 2. 询问颜色段的数量。 思路 将每一种颜色的位置分别存入链表,然后染色的时候启发式合并。 这道题数据出的比较毒瘤,有同种颜色互相染色的数据,还有将已经不存在的颜色进行染色的数据,需要特判。 代码
阅读全文
摘要:题意 有一个森林,初始有一定的边。给定两种操作: 1. 查询两点路径上k小值。 2. 联通两点。 强制在线。 思路 维护主席树,合并的时候按照子树大小dfs暴力合。 代码 学校OJ AC BZOJ MLE Luogu MLE (然而学校OJ空间限制比洛谷小一半???) cpp include usi
阅读全文
摘要:题意 给定n个点以及两种操作: 1. 将两个点连接在一起 2. 询问两个点最早在什么时候联通。 强制在线。 思路 将时间作为权值,在并查集上跑lca即可。 代码 cpp include using namespace std; namespace StandardIO { templateinlin
阅读全文
摘要:题意 给定一颗树,要求将其上的节点分成若干组,使得每一组的节点互相不拥有祖先 后代关系。定义每一组的值为该组节点权值最大值,求值总和最小值。 思路 硬上不是很显然的贪心,但是数据中链的情况给了提示。 考虑链的情况: 对于根节点两侧的链,我们分别排序,然后覆盖选取即可。 这个贪心的正确性是显然的。 现
阅读全文
摘要:题意 给定一颗有根树,节点编号为1,2,...,N,其中点1为树的根。节点i有权值$V[i]$。你现在需要修改节点的权值,使得它们满足以下性质: 对于任意的节点i和j。若节点i为节点j的祖先,则有$V[i]\leq V[j]$。 现在的问题是,你最少需要修改多少个节点的权值,才能满足上述性质。注意,
阅读全文

浙公网安备 33010602011771号