摘要:
### 树形dp 基于树的dp - dp 方法始终为从下至上进行 dp。- 在每个节点对所有儿子做聚合。- 可能需要多一遍 dfs 或者 bfs。 如何存图? ```cpp#include <bits/stdc++.h>using namespace std;const int maxn = 1e5 阅读全文
摘要:
## DP ### 入门题 dp 三要素: 状态、 转移方程、 初始化条件。 状态: $f[i]$。 转移方程:描述状态与状态之间的关系的式子。 初始化条件:没有办法用其他状态求出来的值的状态怎么求(边界)。 ##### Problem 1 $$F_n = \left\{\begin{aligned 阅读全文
摘要:
##### 例一 第一行包含两个正整数 $N,M$,分别表示数列中实数的个数和操作的个数。 第二行包含 $N$ 个实数,其中第 $i$ 个实数表示数列的第 $i$ 项。 接下来 $M$ 行,每行为一条操作,格式为以下三种之一: 操作 $1$:`1 x y k` ,表示将第 $x$ 到第 $y$ 项每 阅读全文
摘要:
## 倍增&快速幂 ### 快速幂 计算一个数 $a$ 的 $n$ 次幂,怎么办? 观察:如果要计算一个数的 $2^k$,只需要把它作 $k$ 次平方即可,因此实际上我们可以 $O(k)=O (\log n)$ 地计算出一个数的 $2^k$ 次方。 对于一般的数 $y$ 用预处理。 我们预处理出 $ 阅读全文