随笔分类 - 数据结构
摘要:重链剖分 P3384 【模板】轻重链剖分/树链剖分 \(/\) 模板代码: 注意: 如果有 \(0\) 号节点,并默认重儿子是零号节点,复杂度会退化为 \(O(n^2)\) 。原因: 代码第一次遍历默认重儿子是0,所以无法保证每次找到重儿子。如果重儿子的节点数小于根节点,那么重儿子不会被记录。 而在
阅读全文
摘要:1. CF558E A Simple Task 题意: 给定由小写字母组成的字符串 \(s\) 每一次操作如下: \(opt=0\) :将 \([l,r]\) 降序排序 \(opt=1\) :将 \([l,r]\) 升序排序 输出最终字符串 题解: 大致思想为,建 \(26\) 棵线段树,代表每一种
阅读全文
摘要:CF1428E Carrots for Rabbits 题意: 有 \(n\) 个萝卜,每个萝卜的初始大小为 \(a_i\) 。现在要把这些萝卜切为为 \(k\) 个。吃每一个萝卜的时间为这个萝卜的大小的平方,求吃完所有萝卜的最小时间,即 \(\sum_{i=1}^{k}{a_i^2}\) 最小 。
阅读全文
摘要:基本概念: 如果需要维护许多个大小为 $10^5$ 级别的多重集,可以看做给每一个多重集建立一棵线段树。线段树的合并、分裂就是多重集的累加、分开。 这里使用动态开点的方式存储线段树树。 如果一个节点为空,那么它的编号为 $0$ 。 变量释义: 有 $cnt$ 个多重集 建立了 $tot$ 个节点 若
阅读全文

浙公网安备 33010602011771号