上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: 1. 前言 树上启发式合并(dsu on tree),是一种类似于启发式合并的方式解决关于部分子树内问题的算法,一般都是什么子树内颜色个数等等的。 前置知识:求重儿子(就是树剖那个重儿子)。 2. 详解 树上启发式合并的一般步骤如下: 求出重儿子。 遍历整棵树,对于一个点 $x$ 按照如下方式求出其 阅读全文
posted @ 2022-10-05 10:45 Plozia 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 这题有 $O(Tn\log n)$ 做法。 考虑类似求次短路的方式,对于每个点 $i$ 求出能到它最近的关键点 $x_i$,它能到最近的关键点 $y_i$,即 $\forall v,dis_{v\to i}\ge dis_{x_i\to i},dis_{i\to v}\ge dis_{i\to y_ 阅读全文
posted @ 2022-10-02 14:44 Plozia 阅读(24) 评论(0) 推荐(0) 编辑
摘要: ~~通过这道题可以看出来 pz 根本不会期望~~ 考虑期望线性性质,设 $E_{x\to y}$ 表示从 $x$ 走到 $y$ 的期望步数,那么有 $E_{1\to n+1}=\sum_{i=1}^nE_{i\to i+1}$,因此考虑计算 $E_{i\to i+1}$,下记 $f_i=E_{i\t 阅读全文
posted @ 2022-09-26 19:53 Plozia 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 设 $f_{i,j}$ 表示第 1 天至第 $i$ 天,手上有 $j$ 股股票时拥有的最多钱。 考虑转移,首先就有 $f_{i,j}=-j\times ap_i$ 即单纯买入,然后由转移方程定义有 $f_{i,j}=\max{f_{i,j},f_{i-1,j}}$,就是不买入不卖出。 现在考虑会买入 阅读全文
posted @ 2022-09-26 18:47 Plozia 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 题号是洛谷题号。 前置知识:$\sum_{i=1}^{n}a_i=m$,${a_n\in N^*}$ 方案数为 $C_{n+m-1}^{n-1}$,$\sum_{i=1}^{n}a_i\ge m$ 方案数为 $C_{n+m}^{n}$,后一项的证明就是考虑有 $n$ 个隔板和 $m$ 个物体隔板,然 阅读全文
posted @ 2022-09-26 16:47 Plozia 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 考虑将 $\min(a_i,b_j)$ 转化为任意选择 $a_i,b_j$,因为多出来的不合法状态答案一定不会变小。 注意到一个合法的行走方案对于 $a_i,b_j$ 的选择只有如下两种情况之一: 全选 $a$ 或者全选 $b$。 存在一个点 $a,b$ 全选。 1 证明显然,2 证明就是考虑如果不 阅读全文
posted @ 2022-09-26 14:27 Plozia 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 据题意显然有 $a\ge b$,证明就是一个为进位加法一个不进位加法,考虑按 $a$ dp,设 $f_{i,j}$ 表示当前 dp 到二进制下从低到高第 $i$ 位,符合条件的一组解 $(x,y)$,$x+y=j$ 的方案数。 考虑如何从 $i-1$ 位转移,由于对于 $(x,y)$,其第 $i$ 阅读全文
posted @ 2022-09-26 14:18 Plozia 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 目前还有 F 没有更新,F 大概是要鸽了。 A. Select Three Sticks 直接对 $a$ 排序,选出来的木棍一定是相邻三项,都往中间靠更优。 B. Bright, Nice, Brilliant 最优方案就是每一行第一个和最后一个为 1,至于证明就是如果剩下有地方为 1 则无法满足这 阅读全文
posted @ 2022-09-24 09:34 Plozia 阅读(217) 评论(0) 推荐(1) 编辑
摘要: 神仙 2700。 首先统计出原数组中不同元素个数记作 $cnt$,如果 $cnt\le k$ 说明元素个数不够,由于一次只能加一个颜色因此答案就是 $k-cnt$。 然后接下来要证明一个结论:答案上限为 2。 证明: 下面都以左上角为 $(1,1)$ 为条件证明,对于左上角不为 $(1,1)$ 的情 阅读全文
posted @ 2022-09-20 20:53 Plozia 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 首先注意到我们同一层不可能会修改多次比赛结果,因为 Sponsors 一定会定准一个目标然后修改结果,据此 $k>n$ 可以视作 $k=n$。 因此某个叶子如果被选为冠军,那么根节点到叶子节点这条路上的边一定都被选中了,而如果某个叶子节点到根的路径上有小于等于 $k$ 条边没有被选中,那么这个点可能 阅读全文
posted @ 2022-09-05 21:21 Plozia 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 一道状压 dp 题,我写的记忆化搜索。 注意到这道题已经下子的区域和未下子的区域有一条轮廓线分割,因此考虑右上到左下记纵向为 1,横向为 0,状压一下,然后顺着记忆化搜索(有点类似 alpha-beta 对抗搜索),如果是先手答案就取 max,后手答案就取 min,每次转移时找到纵+横的位置改变状态 阅读全文
posted @ 2022-09-02 19:26 Plozia 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 停更于 2022/10/26 阅读全文
posted @ 2022-07-16 19:42 Plozia 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 首先考虑暴力 dp,设 $f_{x}$ 表示 $x$ 走到叶子节点的答案,那么枚举 $x$ 子树内节点 $u$,就有:$f_{x} = \min{f_u+B_u \times A_x}$ 注意到该式在 $f_u$ 确定的时候其实是个一次函数 $B_ux+f_u$ 的形式,所以我们可以考虑李超线段树。 阅读全文
posted @ 2022-07-15 19:31 Plozia 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 毒瘤卡常分块题但是看你写法。 注意到这道题有回溯操作,可以考虑建立操作树,下设第 $i$ 个操作在操作树上对应的节点为 $p_i$: 先建立 0 号节点表示初始状态(令 $p_0=0$),对于 1,3 两个非回溯操作(设为第 $i$ 个操作),当前操作编号就是操作树上对应的节点编号,即令 $p_i= 阅读全文
posted @ 2022-07-10 17:56 Plozia 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 一道线性 DP 题。 首先处理输入数据,如果出现了一个 0 说明这个串前面怎么操作都会白给(乘了 0),因此这个 0 前面的所有数据可以直接删掉**但是这个 0 要保留。**1 对答案是没有影响的,忽略即可,最后将所有的保留的数字转换成乘号,因为过程中我们不关注到底乘了多少,只关心方案数(和加号省略 阅读全文
posted @ 2022-06-08 16:23 Plozia 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 停更于 2022/10/26。 阅读全文
posted @ 2022-05-19 20:44 Plozia 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 线段树合并 + 树上差分的好题。 考虑对每个点开一个值域线段树维护值而不是深度,值域 \([-n,n]\),预处理 LCA 和 每个点的深度。 将 \(s \to t\) 的路径拆成两段,一段是 \(s \to lca\): 注意到此时 \(s \to lca\) 的路径上所有点 \(x\),设其被 阅读全文
posted @ 2022-05-11 17:15 Plozia 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 一道线段树合并的题,照理来说这道题思路不值得我写题解但是写法值得。 应当说对于深度问题线段树合并可以乱杀,对于这道题每个节点维护一棵关于深度的线段树,每个叶子节点维护一个 set 表示当前这个节点子树内该深度的名字组成的 set,注意深度是全局深度,合并时采用启发式合并。 然后就是写法问题。 线段树 阅读全文
posted @ 2022-05-08 21:06 Plozia 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 一道 Idea 题,但是做过两道类似寿司晚宴的我还是没能想出这道题…… 一个显然的思路是先枚举所有质数用 B 操作筛掉合数,然后用 A 操作知道有哪些质因子,枚举这些质因子的次幂得到这个数,但 100000 以内的质数个数是 9592,先筛合数再用 A 操作都已经超出限制了。 考虑按照 \(\sqr 阅读全文
posted @ 2022-05-08 19:40 Plozia 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 一道不错的思维题,不过这个 100 具有迷惑性,感觉改成 127 会方便做题,不过改成 100 也有其意义。 既然每次询问是随机一个数异或,因此我们要保证给出去的 100 个数要有相同点,由于猜测数二进制下只有 14 位,因此第一次询问前 7 位为 0,第二次询问后 7 位为 0,然后得到的两个答案 阅读全文
posted @ 2022-05-06 16:09 Plozia 阅读(119) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 11 下一页