09 2022 档案
摘要:树形 dp 好题。 做这题的思想历程: 定义 表示以 为根的子树中,选择了 个节点的答案。感觉还要带上一维状态就是所有黑点距离 的距离,这违反了做题思路中间的简洁性的原则。于是我们 ~~查看题解~~。 经过不明方法之后,我们想到了定义 $dp_{i,j}
阅读全文
摘要:初赛 Day -2 终于停课了,~~尽管父母还是不支持~~。 今天计划: 大家都停课啦!/se/se 似乎弱校的问题就在这里,中午还是颓了一会,并且只睡了 10 分钟左右。 做了一下去年的初赛, 分,好耶!。~~主要还是因为笛卡尔树刚学
阅读全文
摘要:#include <bits/stdc++.h> #define pb push_back using namespace std; const int MAXN = 13; int T, n, m; struct Col { int a[MAXN], maxx; void Clear() { ma
阅读全文
摘要:线段树如果加上一个操作,询问在 中第一个大于或小于某个数的位置,你会怎么做。 显然的一种想法是,维护一个区间 然后二分长度,每次 Query。但是明显是两只 的,太慢啦,有没有快一点的方法呢。当然有。 还是维护区间 我们
阅读全文
摘要:二维数点的原问题 给定 个点 给出 个矩形,求在矩形中有多少个点。 解题方法 这个原问题还是比较好解决的,我们先把问题转化一下。 我们要求的就是 $\begin{cases}l_j\leq x_i\leq r_j\ d_j \leq y_i\leq u_j\e
阅读全文
摘要:通过打表我们知道,或者是数学直觉(雾? 反正 ,其中 表示 中的 的数量。 知道了这点,我们考虑如何计算这个题目。我们要算 的 的和,因为跟二进制很有关系,所以我们考虑我们现在已经算到了第若干位。
阅读全文
摘要:虽然听了正解,但是我们还是要好好考虑一下这道题。 我们从高到低的考虑每一位,我们考虑前面还差多少,其实前面一位只会有 和 。因为 我们是无法通过后面的二进制位弥补上的。 我们定义 表示还剩 的代价。 我们考虑之前的 能
阅读全文
摘要:数位考虑+背包(+滚动数组) 首先,我们能发现,这是一道 很小但是体积和权值都非常大的背包。 但是这个题的体积有一个特殊的性质,就是他是 的形式,这个性质是非常好的。 我们定义 表示我们当前还剩 的空间我们能拿到的最大值,我们从
阅读全文