05 2023 档案
摘要:考虑弱化题意,不带修。 模拟一下操作,发现是每次将当前 ai≠ia_i \ne iai=i 的数往后移,且每次移动 ∀i∈[1,n],∣i−ai∣\forall i\in[1,n],|i-a_i|∀i∈[1,n],∣i−ai∣ 单调不增,即点的移动方向是固定的。 当移点 iii 时,数 [ai
阅读全文
摘要:观察到贡献不为 222 的点对形成多个连通块,于是考虑树上背包。 记 fu,i,cf_{u,i,c}fu,i,c 表示点 uuu 的子树内,点 uuu 所在的连通块大小为 iii(这个连通块满足其上所有点对贡献不为 222,即所有点点权相等),点 uuu 的颜色为 ccc,uuu 子树的最大答案。
阅读全文
摘要:考虑包含与相交的区间。 对于相交的两区间 [l1,r1],[l2,r2][l1,r1],[l2,r2][l1,r1],[l2,r2],则只需区间 [l1,l2],[l2,r1],[r1,r2][l1,l2],[l2,r1],[r1,r2][l1,l2],[l2,r1],[r1,r2] 都合法即可。
阅读全文
摘要:大体相同。 CF1750E Bracket Cost 我们能对一个括号序列做以下操作: 选择一个子串,将其循环右移一位。比如,(()) 循环右移一位之后变为 )(()。 在括号序列的任意位置加一个左括号或右括号。 记这个括号序列的代价为能将其变为匹配序列的最少操作次数。 给一个括号序列,求其非空子串
阅读全文
摘要:将询问差分,转成前缀和。 考虑扫描线维护,将右端点置为 111,它的 lstlstlst 设为 000,则 g(i,r)g(i,r)g(i,r) 为 iii 之后第一个 111,于是区间覆盖区间查询即可。 维护下一个 111 与当前 iii 的差值,问题转化为区间加区间查询。 原问题答案即为,前缀版
阅读全文
摘要:发现选择的区间不包含且不相交,于是区间的形式为选一段空一段。 考虑到 r−lr-lr−l 即为每个区间 [i,i+1][i,i+1][i,i+1] 的贡献。 于是考虑 [i,i+1][i,i+1][i,i+1] 什么时候不选,发现当左段的最大值小于右端的最大值时,[i,i+1][i,i+1][i,i
阅读全文
摘要:若 m≢0(modk)m \not\equiv 0 \pmod km≡0(modk),无解。 考虑将操作二个数限制为 <k< k<k,否则可转化为几次操作一和 ≤k\le k≤k 次操作二,那么一个操作集合唯一对应一种最终序列,于是对操作集合进行计数即可。 记序列 b1∼n−k+1b_{1\si
阅读全文
摘要:由 D1 的结论,将最后 nnn 个操作倒序加入原数组,然后每个数用偶数次操作,每两次操作 −1-1−1,最后可能剩下一个操作,加到最大数上。 感性理解,由于要使得最后的操作是 +++,那么前面一定是 +−+−+−+-+-+-+−+−+− 排列的,那么每次 −1-1−1 最优。 考虑二分答案。 考虑
阅读全文
摘要:建立原图的最小生成树,那么两点路径最大值的最小值即为 MST 上两点路径最大边权。 设修改边 (x,y)(x,y)(x,y),原权值为 www。 首先查询 sss 到 ttt 的最小瓶颈是否是 www,如果不是,显然没有影响。 否则问题转化为:仅考虑边权 ≤w\leq w≤w 的边,(x,y)(x,
阅读全文