随笔分类 - 具体问题 / dp / 树形 dp
摘要:思路 首先分析题目 发现删除第一个点之后, 如果剩下单棵子树那么答案最终会加一 否则就是剩下的森林/树的最大独立集 于是问题简化成 题意 给定一棵树, 求以下两种情况之中的最大值: 删除一个叶子结点, 剩下的树的最大独立集大小 + 111 树的最大独立集大小 你可能需要知道怎么求树的最大独立集 比较
阅读全文
摘要:前言 还是感觉到了一些不对啊, 自己推导的能力需要加强 思路 题意很清楚 题意 给定一个 nnn 个点的树, 每个点父亲 pip_ipi 求最多可以找到多少二元对 (u,v)(u, v)(u,v), 使得每个点都仅属于至多一个二元对, 且 u,vu, vu,v 互相不为祖先 猜测是树形 \(\rm
阅读全文
摘要:前言 & 杂谈 深度思考\((\)用时一节课\()\) 一下子接收的东西有点多, 在这里顺带理一下吧 很多时候把这些东西公开出来是没有意义的, 但是我没必要掩藏什么 首先是这个键盘超级软, 嗯嗯嗯, 感觉挺神奇的, 想起来平时走的时候盖一层东西, 平时落灰太多了 不扯远了, 这周回去发现近段时间补的
阅读全文
摘要:前言 这个结果是可做题, 赛时没猜出来, e 本质上还是 \(\rm{T1}\) 性质猜错了导致的, 都怪 \(\rm{T1}\) 先从已经确定的部分开始考虑 拆分序列法 一般从可以严格分成两部分来考虑 拆分点可以确定状态 分开的子问题尽量少 分成两个同性质的串加上一个构造 \((\)例如 \((X
阅读全文
摘要:前言 做一下一场没打的 \(\textrm{div 2}\) 的 \(\rm{C}\) 最近思维能力还在下降, 无敌 前天还能打出思维题, 今天打不出 \(\textrm{div 2 C}\) 思路 首先转化题意 给定一个 \(n\) 节点的树, 求删除两个节点及其连边之后, 最大连通块的数量 不难
阅读全文
摘要:思路 根据赛时的检验, 典型的动点问题的 \(\rm{trick}\) 并不能在这里使用, 也就是说, 分类讨论 前缀 + \(i\) + 后缀 前缀 + \(i\) 后缀 + \(i\) 是不可行的 考虑括号串问题的常见做法, 先将其赋值成 \(1, -1\) 之后进行处理 你发现这种做法有枚举字
阅读全文
摘要:前言 讲还是要多听, 这个很重要啊 思路 赛时的思路不太正确啊 容易想到树形 \(\rm{dp}\) , 考虑令 \(f_{u, i}\) 表示对于 \(u\) 子树, 拆分出一块包含 \(u\) 的大小为 \(i\) 的连通块的方案数 考虑转移, 类似树上背包 \[f_{u, k} \gets \
阅读全文
摘要:前言 大风天踢了会球, 立竿见影就觉得感冒了, 无敌了, 一会去医务室整点抗病毒 颓了一会好点了() 思路 首先转化题意 给你一张 \(n\) 点 \(m\) 边的图 \(\mathbb{G}\) 和一棵同样由这 \(n\) 个点组成的树 \(\mathbb{T}\), 求对树上的点有多少中标号方式
阅读全文
摘要:前言 终于可以有底气的显然了 思路 这道题在考场上时间不够了, 但我是做得出来的吧 在这推一遍, 检查一下 首先套路的, 先处理树在处理环 对于树上的情况, 令 \(f_{u, 0/1, 0/1}\) 表示 \(u\) 子树, 是否选择 \(u\) 为关键点, \(u\) 的儿子中是否有关键点 (显
阅读全文
摘要:前言 因为这个东西才开的这个专题, 但是我现在还是不会做这道题 思路 你发现 \(b_i \geq 2\) , 那么至多取 \(\log a_i\) 次就可以清空, 那么答案就有上界在 \(63\) 左右 因为操作顺序对最终结果无影响, 你考虑枚举以每个 \(b_i\) 作为区间最小值对于 \(a\
阅读全文
摘要:前言 调 \(C\) 快魔怔了, 还是先来打这个 思路 方法 \(1\) : 笛卡尔树 看到这种类 \(\rm{RMQ}\) 问题直接一个笛卡尔树起手, 恰好 \(p\) 是不重的, 那么更方便了啊 搞出树树挖下性质 例如样例中的 4 2 4 1 3 你注意到每次删除操作相当于选择一个键值段, 然后
阅读全文
摘要:思路 哇, 看到这个就直接想到昨天学的经典应用 : 最大子矩形 好吧还是认真推一下 完蛋了是计数, 我们没救了 首先按照高度为优先级, 位置为键值建一颗小根笛卡尔树, 我们玩下样例找下性质 例如题目中给出的图片, 我们建成笛卡尔树就长这样 其中每个点由 \(\{键值, 优先级\}\) 组成 观察这颗
阅读全文
摘要:算法 显然的, 每次掷硬币, 女王(以下称为 \(B\)) 一定会将 \(\rm{Alice}\) (以下称为 \(A\)) 丢到下面, \(A\) 一定会将自己拉到上层 带到这道题里面去, 我们显然要做类似于树上的概率 \(\rm{dp}\) 一眼发现, 令 \(f_u\) 表示第 \(i\) 个
阅读全文
摘要:算法 一眼顶针, 鉴定为树形 \(\rm{dp}\) 套路的, 设 \(f_{i, 0/1}\) 表示以 \(i\) 为根的子树, 是否加强 \(i\) 的最大点权和 状态转移方程为 \[\begin{cases} \displaystyle f_{u, 1} \gets \sum_{v \in \
阅读全文
摘要:前言 米奇妙妙 \(\rm{dp}\) , 也是高端计数 这种题看得懂想不出, 还是非常难蚌 能不能多想想再去看 \(\rm{TJ}\) 啊 算法 思路 \(1\) 注意到除了割边, 其他的边都没有影响, 显然可以缩 \(\rm{e}\)-\(\rm{DCC}\) 再进行处理 这里发现缩完之后形成一
阅读全文
摘要:算法 观察到把每个 \(a_i\) 向 \(i\) 连边, 形成一个外向基环树森林 问题转化为 在一个基环树上, 选择一个点后, 其儿子节点至少有一个不能选, 求最大选点个数 对于森林中的每一棵基环树 容易想到找环, 对于环上每一点, 问题转化为树上的上述问题 显然是树形 dp 令 \(f_{x,
阅读全文
摘要:题面 似乎有原题, 但是很偏 挂个 pdf 题面下载 算法 一眼树形 dp 然而考场上没想出来 很显然有一个式子 令 \(f_u\) 表示从 \(u\) 进入子树, 再通过迁越回到点 \(u\) 的最大价值 则有 \[f_u = \sum_{exist\text{ }u \rightarrow v}
阅读全文
摘要:算法 \(\mathcal{O}(n \log n)\) 算法, \(95pts\) 观察题目,发现题目要求我们求 \(\gcd\) 不等于 \(1\) 的一条最长链 考虑将每个数分解质因数 对于每一个 \(1 \sim k\) 中的质数, 将所有含有这个质因子的数加入一颗虚树, 求最长链即可, 经
阅读全文

浙公网安备 33010602011771号