随笔分类 -  好题

摘要:"题面" 题解 如果我们知道在这 $2^p$ 种方案中, 每一对 $i, j$ 满足 $i a_j$ 的方案数 那么我们把所有的加起来就行了 考虑 DP 这样一个东西 $f[i][j]$ 为 $i$ 位置上的数大于 $j$ 位置上的数的概率 假设每一次操作有 $\frac{2}{1}$ 的概率进行, 阅读全文
posted @ 2020-04-28 20:12 ztlztl 阅读(141) 评论(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 阅读(198) 评论(0) 推荐(1)
摘要:"题面" 题解 提供两种方法 线段树分治 将一个物品可以购买的时间区间打到线段树上 考虑对于每一个点如何算贡献 从线段树的根开始做 01 背包 向下递归时记得撤销不同区间的影响 这样每一次询问只会算 $log(t)$ 次, 每一个物品, 只会在 $log(t)$ 段区间中被计算 每次计算的复杂度是 阅读全文
posted @ 2020-04-28 19:41 ztlztl 阅读(143) 评论(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 阅读(98) 评论(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 阅读(113) 评论(0) 推荐(0)
摘要:"题面" 题解 发现这个操作的使用顺序是独立的 所以后面的操作我们可以提前用, 前面的操作可以后面再去用 考虑我们当前已经知道了最优解的前 $i$ 项, 现在在求第 $i + 1$ 项 要达到最优解的方式当然有很多, 我们使用过的操作集合为 $s[]$ 那么我们可以任选没有用过的操作, 设使用某些没 阅读全文
posted @ 2020-04-28 10:51 ztlztl 阅读(117) 评论(0) 推荐(0)
摘要:"题面" 题解 如果不是二叉搜索树其实这题就是最小生成树板子题 设 $f[l][r][k]$ 为 $[l, r]$ 这段区间是否可以以 $k$ 为根构成一棵合法的树 转移就是 $$ f[l][r][k] |= f[l][mid][i] \& f[mid + 1][r][j], mid \in [l, 阅读全文
posted @ 2020-04-27 22:18 ztlztl 阅读(100) 评论(0) 推荐(0)
摘要:"题面" 题解 两问分开考虑 对于第一问, 每条线路建一个点, 线路上的站点向该点连一条 1 的边, 该点向线路上的点连一条 0 的边 直接最短陆即可 对于第二问 假设代表某条线路的点 $i$ 的 $dis$ 为 $d$ 那么他所连接的站点要么 $dis$ 为 $d$, 要么 $dis$ 为 $d 阅读全文
posted @ 2020-02-24 21:13 ztlztl 阅读(173) 评论(0) 推荐(0)
摘要:"题面" 题解 考虑到固定左端点, 那么所有的区间的 $gcd$ 最多只有 $log$ 种取值 证明: 从左至右. 若 $gcd$ 变化, 每次至少都会 $/ 2$ 对于每一个左端点二分找这个位置, ST 表查询区间 $gcd$ Code 阅读全文
posted @ 2020-02-24 21:06 ztlztl 阅读(146) 评论(0) 推荐(0)
摘要:"题面" 题解 设第 $k$ 个女性的如意郎君列表长度为 $len$ , 那么我们选择这其中第 $i$ 位的概率是 $$ \displaystyle\begin{aligned}&p (1 p)^{i 1} \sum_{j = 0}^{\infty}(1 p)^{j len}\\=&\frac{p 阅读全文
posted @ 2020-02-24 20:38 ztlztl 阅读(175) 评论(0) 推荐(0)
摘要:"题面" 题解 经典套路, 用树上前缀和的方式建出可持久化 Trie 树 询问就树上差分一下就行 Code 阅读全文
posted @ 2020-02-24 20:27 ztlztl 阅读(100) 评论(0) 推荐(0)
摘要:"题面" 题解 首先我们得先知道一个小结论, 就是说如果最优方案中最大值和最小值必定是在区间两端 要么就是这两个数在长度为 $L$ 的区间中 那么我们用 ST表处理出长度为 $L$ 的区间中最优的答案 接下来处理两个数在区间首尾的方案 假设区间右端是最大值, 左端是最小值 左端最大右端最小把数组 $ 阅读全文
posted @ 2020-02-24 20:16 ztlztl 阅读(159) 评论(0) 推荐(0)
摘要:"题面" 题解 由于每个元素是独立的, 所以我们只用对于每个元素都算一次就行了 对于单一的一个元素, 可以看成从最左下角引一条向右或向上的折线, 折线左上方这个元素都被选, 折线右下方都不选 因为总共向右或向上只能走 $k$ 步, 每次向右或向上均可, 所以是 $2 ^ k$ 再来个 $n$ 次幂代 阅读全文
posted @ 2020-02-24 19:54 ztlztl 阅读(105) 评论(0) 推荐(0)
摘要:"题面" 题解 不想写了 "嘿嘿嘿" Code 阅读全文
posted @ 2020-02-11 20:57 ztlztl 阅读(147) 评论(1) 推荐(0)
摘要:"题面" 题解 容易想到二分, 问题是如何 check 发现对于一个点, 他能够选的只有两种, 对于他连的点, 能够选的也只有两种 又因为总共只有三种方案, 那么一条边连的两个点最少会有一种一样的 那么这个选了这种, 那个就不能选这种, 那个选了这种, 这个就选不了这种 嗯, 是个 2 sat Co 阅读全文
posted @ 2020-02-11 20:54 ztlztl 阅读(107) 评论(0) 推荐(0)
摘要:"题面" 题解 最优方案下相邻两个坑肯定不会同时开枪 那如果是链就很好做了 环呢? 讨论一下 1 和 n 谁开枪谁不开枪就行 Code 阅读全文
posted @ 2020-02-11 20:50 ztlztl 阅读(188) 评论(0) 推荐(0)
摘要:"题面" 题解 我们发现经过若干次操作后这些数的相对大小都不会变 排序之后, 就只有一段前缀改为 L , 或一段后缀改为 R 了 考虑这样一个函数 $$ \displaystyle\\f(a_1, a_2, a_3) = a_1 c_i + a_2 a_i + a_3 $$ 其中 $c_i$ 代表 阅读全文
posted @ 2020-02-11 20:31 ztlztl 阅读(147) 评论(0) 推荐(0)
摘要:"题面" 题解 有一个很简单的 DP 式 $$ f[i] = min(k[i], s[i] + \sum f[j]) $$ 其中 $j$ 是普攻 $i$ 后产生的小怪编号 但是这样转移可能有环 我们考虑使用最短路转移, 对于一对 $(i, j)$ 连边 $i \to j$ 然后初始化每个点都为法术攻 阅读全文
posted @ 2020-02-11 20:17 ztlztl 阅读(122) 评论(0) 推荐(0)
摘要:"题面" 题解 首先我们发现, 那些保质期短, 价格又贵的我们肯定不会选 所以先拿单调队列弹掉这些 然后就在保质期内选最便宜的就行 这样我们发现, 外卖小哥来的次数少, 我们每次买的就多, 花费就多, 外卖小哥来的次数多, 我们每次买的就少, 但是付外卖的钱又多了起来 经过看题解后发现, 这应该是一 阅读全文
posted @ 2020-02-11 20:12 ztlztl 阅读(270) 评论(0) 推荐(0)
摘要:"题面" 题解 这个 $n m \leq 100000$ 数据范围告诉我们要根号分治 我们对于一段区间 $[u, d]$ (上下的区间), 将所有拼图分为两类, 一类是这块中在这一段区间从左到右全都是 0 , 或者是只有一部分是 0 那么最后这一段区间的答案就是把全是零的放在中间, 左边接一个 0 阅读全文
posted @ 2020-02-10 20:57 ztlztl 阅读(190) 评论(0) 推荐(0)