摘要:
1 前言 线段树一直是高频考点,可以直接出也可以作为数据结构优化其他算法。这里我只想说说线段树的基本理解以及如何构造,也就是如何写出信息和标记,信息之间的合并,标记之间的复合,信息和标记之间的复合。以及矩阵的辅助理解,区间最值、历史版本相关问题。 2 线段树 线段树运用了分治的思想,将每个大区间分成 阅读全文
摘要:
P2839 [国家集训队] middle 二分+可持久化线段树 中位数经典做法,二分答案,将小于的部分看做 ,大于等于的部分看做 ,那么答案可以更大的条件就是区间和大于等于 (等于 可不可以取到看是下取整还是上取整,本题是上取整)。 那么问题就是怎么判断 阅读全文
摘要:
P2685 [TJOI2012] 桥 最短路 + 线段树 是经典题了:求图中删去其中一条边后, 到 最短路的最大值。 显然的,删去的边一定在原图的最短路上。然后就没思路了。 朴素的,枚举最短路上的边删去,各跑一次最短路,复杂度 级别的。 这种想法 阅读全文
摘要:
P11189 「KDOI-10」水杯降温 DP+二分 挺好的一题。首先很容易看到操作顺序不影响答案,所以考虑先 -1 再 +1,这时候分析什么状态可以用若干 +1 操作有解。 这时候手玩几棵树可以总结出: 父亲节点一定要大于等于儿子。 根节点要小于等于 。 容易发现两个操作只会让父亲节点与 阅读全文
摘要:
bitset 有点厉害,必须要学了。 介绍 bitset 可以看成是一个每个位置都是 或 的 bool 数组。与 bool 数组相比,它的空间复杂度是其 ,时间复杂度也是 ,还支持位运算,所以不论是用处还是效率基 阅读全文
摘要:
A gcd 的题可以往质因数方面思考。 手玩一个样例可以发现一个显然的性质:只要能操作就操作一定更优。 然后又发现操作不改变原本存在的质因数的幂次,操作相当于若干质因数的幂次重新组合。 考虑怎么样让答案最大,可以想到分别将质因数的幂次从大到小排序后,每次取出最上面的若干质因数组合起来形成新的数最优。 阅读全文
摘要:
今天的题不算难,但是没做出一题,有点失败。 A 你打完表之后发现并没有什么出色的性质。只能考虑爆搜。 代码好写,但是你要分析复杂度。 最关键的一点是每一次递归至少多一个 ,而 可以直接 return,所以最多递归 次就够了。 #include <bits/stdc+ 阅读全文
摘要:
为什么我这么菜? 阅读全文