随笔分类 - 思维
摘要:"题面" 题解 如果我们知道在这 $2^p$ 种方案中, 每一对 $i, j$ 满足 $i a_j$ 的方案数 那么我们把所有的加起来就行了 考虑 DP 这样一个东西 $f[i][j]$ 为 $i$ 位置上的数大于 $j$ 位置上的数的概率 假设每一次操作有 $\frac{2}{1}$ 的概率进行,
阅读全文
摘要:"题面" 题解 设 $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 [
阅读全文
摘要:"题面" 题解 提供两种方法 线段树分治 将一个物品可以购买的时间区间打到线段树上 考虑对于每一个点如何算贡献 从线段树的根开始做 01 背包 向下递归时记得撤销不同区间的影响 这样每一次询问只会算 $log(t)$ 次, 每一个物品, 只会在 $log(t)$ 段区间中被计算 每次计算的复杂度是
阅读全文
摘要:"题面" 题解 设 $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
阅读全文
摘要:"题面" 题解 我们取两个点出来分析, 发现如果先手要赢他就必须从他当前的 $i$ 点走到 $j$ 点, 满足$a_i include include include const int N = 3005; using namespace std; int n, a[N], head[N], cnt
阅读全文
摘要:"题面" 题解 发现这个操作的使用顺序是独立的 所以后面的操作我们可以提前用, 前面的操作可以后面再去用 考虑我们当前已经知道了最优解的前 $i$ 项, 现在在求第 $i + 1$ 项 要达到最优解的方式当然有很多, 我们使用过的操作集合为 $s[]$ 那么我们可以任选没有用过的操作, 设使用某些没
阅读全文
摘要:"题面" 题解 如果不是二叉搜索树其实这题就是最小生成树板子题 设 $f[l][r][k]$ 为 $[l, r]$ 这段区间是否可以以 $k$ 为根构成一棵合法的树 转移就是 $$ f[l][r][k] |= f[l][mid][i] \& f[mid + 1][r][j], mid \in [l,
阅读全文
摘要:"题面" 题解 两问分开考虑 对于第一问, 每条线路建一个点, 线路上的站点向该点连一条 1 的边, 该点向线路上的点连一条 0 的边 直接最短陆即可 对于第二问 假设代表某条线路的点 $i$ 的 $dis$ 为 $d$ 那么他所连接的站点要么 $dis$ 为 $d$, 要么 $dis$ 为 $d
阅读全文
摘要:"题面" 题解 考虑到固定左端点, 那么所有的区间的 $gcd$ 最多只有 $log$ 种取值 证明: 从左至右. 若 $gcd$ 变化, 每次至少都会 $/ 2$ 对于每一个左端点二分找这个位置, ST 表查询区间 $gcd$ Code
阅读全文
摘要:"题面" 题解 首先假设每个娃都不套, 那么代价就是 $\sum_{i=1}^{n}b_i in_i$ 然后每次将 $j$ 套进 $i$ 中会减去 $b_i out_j$ 的代价 发现将 $b$ 排序后拿个数据结构维护一下最大的小于等于当前的 $in_i$ 的 $out_j$ 证明直接拿两个套娃,
阅读全文
摘要:"题面" 题解 设第 $k$ 个女性的如意郎君列表长度为 $len$ , 那么我们选择这其中第 $i$ 位的概率是 $$ \displaystyle\begin{aligned}&p (1 p)^{i 1} \sum_{j = 0}^{\infty}(1 p)^{j len}\\=&\frac{p
阅读全文
摘要:"题面" 题解 首先我们得先知道一个小结论, 就是说如果最优方案中最大值和最小值必定是在区间两端 要么就是这两个数在长度为 $L$ 的区间中 那么我们用 ST表处理出长度为 $L$ 的区间中最优的答案 接下来处理两个数在区间首尾的方案 假设区间右端是最大值, 左端是最小值 左端最大右端最小把数组 $
阅读全文
摘要:"题面" 题解 由于每个元素是独立的, 所以我们只用对于每个元素都算一次就行了 对于单一的一个元素, 可以看成从最左下角引一条向右或向上的折线, 折线左上方这个元素都被选, 折线右下方都不选 因为总共向右或向上只能走 $k$ 步, 每次向右或向上均可, 所以是 $2 ^ k$ 再来个 $n$ 次幂代
阅读全文
摘要:"题面" 题解 不想写了 "嘿嘿嘿" Code
阅读全文
摘要:"题面" 题解 最优方案下相邻两个坑肯定不会同时开枪 那如果是链就很好做了 环呢? 讨论一下 1 和 n 谁开枪谁不开枪就行 Code
阅读全文
摘要:"题面" 题解 有一个很简单的 DP 式 $$ f[i] = min(k[i], s[i] + \sum f[j]) $$ 其中 $j$ 是普攻 $i$ 后产生的小怪编号 但是这样转移可能有环 我们考虑使用最短路转移, 对于一对 $(i, j)$ 连边 $i \to j$ 然后初始化每个点都为法术攻
阅读全文
摘要:"题面" 题解 首先我们发现, 那些保质期短, 价格又贵的我们肯定不会选 所以先拿单调队列弹掉这些 然后就在保质期内选最便宜的就行 这样我们发现, 外卖小哥来的次数少, 我们每次买的就多, 花费就多, 外卖小哥来的次数多, 我们每次买的就少, 但是付外卖的钱又多了起来 经过看题解后发现, 这应该是一
阅读全文
摘要:"题面" 题解 转化问题, 即一个点从根节点往下走, 到达任意一个点时, 保证每一个与他直接连通的点都被覆盖了 没有必要向上走, 因为这只会留更多时间来修复 所以我们讨论只下不上的情况 二分一个 mid , 代表当前共有 mid 个人 设 $f[i]$ 为到了 $i$ 点, 且 $i$ 的儿子全部未
阅读全文
摘要:"题面" 题解 这个数据范围, 直接 DP 一下就完了 看是这个人新开一个圈还是加到别的圈里去 注意, 新开一个圈最少需要三个人 设 $f[i][j]$ 为前 $i$ 个人组成 $j$ 个圈的方案数 $$ f[i][j] = \begin{cases} f[i 1][j] (i 1)\\ f[i 3
阅读全文
摘要:"题面" 题解 斜率优化入门练习题, 不想写题解了 左转 "大仙博客" , 然后你就能切了这道题哦 Code
阅读全文

浙公网安备 33010602011771号