10 2021 档案
摘要:考虑使用平衡树维护该序列,操作显然可以用fhq treap的分裂+合并来实现 进一步的,问题即变为维护哪些信息来支持push up的操作(并判定是否存在),容易想到去维护区间最大值/最小值、最大的/最小的满足存在$a_{i}<a_{j
阅读全文
摘要:注意到当操作确定后,显然操作顺序总是涂黑色的1操作->涂白色的1操作->2操作 用表示是否被黑色/白色 横着/竖着 涂过(1表示涂过,0表示没有),注意到当这些信息被确定后,已经可以确定是否可行以及对应的代价 具体的,考虑一个格子,对其进行
阅读全文
摘要:考虑树的情况,将其以任意一点为根建树 对于每一个节点,考虑其要与父亲操作几次才能使子树内均为黑色,这可以用形如的二元组来描述,其中0/1即表示其要求操作时父亲是白色/黑色且要操作次 考虑一个叶子,其二元组显然为,接下来每一个点即可以交替将儿子中的$(0/1,x)
阅读全文
摘要:对整个过程构造一张有向图,其中当且仅当把加入,且边权为 显然这是一棵外向树森林,并再做如下两个构造: 1.新建一个点,将其向所有入度为0的点连边 2.将所有边变为无向边,且边权修改为(和为两端点
阅读全文
摘要:称一个点是"好点",当且仅当其到其余所有点恰存在一条简单路径 结论1:为好点当且仅当以为根的dfs树包含所有点且非树边均为返祖边 若不包含所有点,那么到不被包含的点即不存在简单路径 若存在非树边不为返祖边,则不论如何该边到该边终点存在至少两条简单路径 另一方面,考虑在这样一棵
阅读全文
摘要:不妨先操作一轮,使得 结论:若序列中存在1,则答案为0或1 考虑归纳,注意到若序列中存在1,除非所有元素均为1,否则操作一轮后必然仍存在1,那么根据归纳假设即成立,而当所有元素均为1时,显然答案一定为0或1(序列长度已经为1),同样成立 由此,实际上只需要通过奇偶性
阅读全文
摘要:对于题中的"normal expression"(仅含加减乘和无前导0的非负整数,无括号)的计算,实际上并不需要通常的表达式求值,而可以用下述方式计算—— 维护三元组,分别表示已经确定的部分、下一个之前这些数的系数和当前最后一个数字(或许解释并不清晰,可以参考转移),三者
阅读全文
摘要:维护个三元组,每一个三元组描述 对于RLDU这四个操作,即将所有三元组的或执行(模意义下) 对于IC这两个操作,即分别将和交换或和交换 维护这三个元素交换的顺序以及每一个元素加减的量,最终再
阅读全文
摘要:记为的度数,简单分类讨论可得答案下限为 另一方面,此下限是可以取到的,构造方法较多,这里给一个巧妙一些的做法—— 对其以dfs(儿子顺序任意),并要求如果一个节点被父亲递归时时间为,则返回时时间为,那么父亲的时间即
阅读全文
摘要:前置知识 (以下内容并不严谨,可以参考论文《转置原理的简单介绍》) 对于一个算法,其为线性算法当且仅当仅包含以下操作: 1.,将的值赋为(下一个)读入的元素 2.,将的值赋给(下一个)输出的元素 3.
阅读全文
摘要:对于两个字符串和(保证其中每一种字符个数相同),定义和的相对逆序对数为得到的最少交换次数,显然同种字符相对顺序保持不变,因此即依次编号后的逆序对数 问题不妨看作构造合法字符串使得和的相对逆序对数最小,定义为仅保留中
阅读全文
摘要:将其以为根建树,并定义的点权为到其父亲的边边权(特别的),那么问题也可以看作选一个包含的点集,满足其的导出子图连通且边集可以被划分为条路径,并最大化点权和 性质1:边集可以被划分为条路径,当且仅当度为1的节点不超过个 必要性
阅读全文