摘要: 树形 dp 好题。 做这题的思想历程: 定义 $dp_{i,j}$ 表示以 $i$ 为根的子树中,选择了 $j$ 个节点的答案。感觉还要带上一维状态就是所有黑点距离 $i$ 的距离,这违反了做题思路中间的简洁性的原则。于是我们 ~~查看题解~~。 经过不明方法之后,我们想到了定义 $dp_{i,j} 阅读全文
posted @ 2022-09-17 07:02 Mercury_City 阅读(35) 评论(0) 推荐(0)
摘要: 初赛 Day -2 $2022/9/16$ 终于停课了,~~尽管父母还是不支持~~。 今天计划: $#6.习题课$ $#7$ 大家都停课啦!/se/se 似乎弱校的问题就在这里,中午还是颓了一会,并且只睡了 10 分钟左右。 做了一下去年的初赛,$75.5$ 分,好耶!。~~主要还是因为笛卡尔树刚学 阅读全文
posted @ 2022-09-16 18:12 Mercury_City 阅读(47) 评论(0) 推荐(0)
摘要: #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 阅读全文
posted @ 2022-09-16 11:35 Mercury_City 阅读(436) 评论(0) 推荐(0)
摘要: 线段树如果加上一个操作,询问在 $[l,r]$ 中第一个大于或小于某个数的位置,你会怎么做。 显然的一种想法是,维护一个区间 $\min,\max$ 然后二分长度,每次 Query。但是明显是两只 $\log$ 的,太慢啦,有没有快一点的方法呢。当然有。 还是维护区间 $\min, \max$ 我们 阅读全文
posted @ 2022-09-13 19:48 Mercury_City 阅读(3737) 评论(3) 推荐(1)
摘要: 二维数点的原问题 给定 $n$ 个点 $(x_i,y_i)$ 给出 $m$ 个矩形,求在矩形中有多少个点。 解题方法 这个原问题还是比较好解决的,我们先把问题转化一下。 我们要求的就是 $\begin{cases}l_j\leq x_i\leq r_j\ d_j \leq y_i\leq u_j\e 阅读全文
posted @ 2022-09-12 19:26 Mercury_City 阅读(125) 评论(0) 推荐(0)
摘要: 通过打表我们知道,或者是数学直觉(雾? 反正 $a_n=c^{cnt(n)}$,其中 $cnt(n)$ 表示 $n$ 中的 $1$ 的数量。 知道了这点,我们考虑如何计算这个题目。我们要算 $i\in[0,n]$ 的 $a_i$ 的和,因为跟二进制很有关系,所以我们考虑我们现在已经算到了第若干位。 阅读全文
posted @ 2022-09-02 19:22 Mercury_City 阅读(37) 评论(0) 推荐(0)
摘要: 虽然听了正解,但是我们还是要好好考虑一下这道题。 我们从高到低的考虑每一位,我们考虑前面还差多少,其实前面一位只会有 $0$ 和 $-1$。因为 $1$ 我们是无法通过后面的二进制位弥补上的。 我们定义 $f_i$ 表示还剩 $i,i=-1\or 0$ 的代价。 我们考虑之前的 $g_{-1}$ 能 阅读全文
posted @ 2022-09-02 14:32 Mercury_City 阅读(39) 评论(0) 推荐(0)
摘要: 数位考虑+背包(+滚动数组) 首先,我们能发现,这是一道 $n$ 很小但是体积和权值都非常大的背包。 但是这个题的体积有一个特殊的性质,就是他是 $a\times 2^b,a\leq10$ 的形式,这个性质是非常好的。 我们定义 $f_i$ 表示我们当前还剩 $i$ 的空间我们能拿到的最大值,我们从 阅读全文
posted @ 2022-09-01 21:24 Mercury_City 阅读(34) 评论(0) 推荐(0)
摘要: 首先,对于一个子树,我们显然只有两种去让军队走过他的办法,一种是从兄弟节点调一些军队来,另一种是从根节点推过来。 感觉有一个结论,就是我这个位置如果用兄弟节点推过来的只是因为兄弟节点推过来的步数小于从根节点重新来一个步数小。 我们首先会遇到一个问题,如果现在兄弟节点推过来的确实比从根来小,但是有没有 阅读全文
posted @ 2022-08-30 19:01 Mercury_City 阅读(71) 评论(0) 推荐(0)
摘要: $n$ 只有 $2000$,这样的话我们可以开二维的 dp 了,所以我们大胆一点,定义 $f_{u,i}$ 表示在 $u$ 号点,用了 $i$ 次操作后的代价。 似乎就是一个裸的树上背包了。 考虑一下如何合并,对于 $u$ 结点,之前的儿子节点已经处理完了,我们现在如何合并到当前的状态。 我们好像要 阅读全文
posted @ 2022-08-28 14:55 Mercury_City 阅读(48) 评论(0) 推荐(0)