摘要: "题面" 题解 如果我们知道在这 $2^p$ 种方案中, 每一对 $i, j$ 满足 $i a_j$ 的方案数 那么我们把所有的加起来就行了 考虑 DP 这样一个东西 $f[i][j]$ 为 $i$ 位置上的数大于 $j$ 位置上的数的概率 假设每一次操作有 $\frac{2}{1}$ 的概率进行, 阅读全文
posted @ 2020-04-28 20:12 ztlztl 阅读(98) 评论(0) 推荐(0) 编辑
摘要: "题面" 题解 设 $f[u][d][l][r]$ 为 $(u, l)$ 到 $(d, r)$ 这个矩形最小的复杂度是多少 那么转移就是 $$ f[u][d][l][r] = \begin{cases} max(f[u][k][l][r], f[k + 1][d][l][r])+1, k \in [ 阅读全文
posted @ 2020-04-28 20:00 ztlztl 阅读(187) 评论(0) 推荐(1) 编辑
摘要: "题面" 题解 提供两种方法 线段树分治 将一个物品可以购买的时间区间打到线段树上 考虑对于每一个点如何算贡献 从线段树的根开始做 01 背包 向下递归时记得撤销不同区间的影响 这样每一次询问只会算 $log(t)$ 次, 每一个物品, 只会在 $log(t)$ 段区间中被计算 每次计算的复杂度是 阅读全文
posted @ 2020-04-28 19:41 ztlztl 阅读(125) 评论(0) 推荐(0) 编辑
摘要: "题面" 题解 设 $f[i][j]$ 为以 $i$ 为根的子树在 $i$ 选的权值为 $j$ 时的方案数 设 $g[i][j] = \sum_{k = 1}^{j} f[i][k]$ $$ f[u][j] = \prod g[v][j], v \in {Son_u} $$ 然而这是一个 $O(nd 阅读全文
posted @ 2020-04-28 19:19 ztlztl 阅读(82) 评论(0) 推荐(0) 编辑
摘要: "题面" 题解 我们取两个点出来分析, 发现如果先手要赢他就必须从他当前的 $i$ 点走到 $j$ 点, 满足$a_i include include include const int N = 3005; using namespace std; int n, a[N], head[N], cnt 阅读全文
posted @ 2020-04-28 11:07 ztlztl 阅读(90) 评论(0) 推荐(0) 编辑
摘要: "题面" 题解 发现这个操作的使用顺序是独立的 所以后面的操作我们可以提前用, 前面的操作可以后面再去用 考虑我们当前已经知道了最优解的前 $i$ 项, 现在在求第 $i + 1$ 项 要达到最优解的方式当然有很多, 我们使用过的操作集合为 $s[]$ 那么我们可以任选没有用过的操作, 设使用某些没 阅读全文
posted @ 2020-04-28 10:51 ztlztl 阅读(108) 评论(0) 推荐(0) 编辑