这道题是真的蛇皮 方案数要开$double$真的蛇皮 首先$dp$是非常容易看出来的 设$dp[i]$表示以$i$结尾的最长子序列 显然转移方程为 $$dp[i]=max(dp[j]+1)(j=h[i],v[j] =v[i])$$ 暴力转移是$O(n^2)$的 同时第二问我们还需要求一个概率 非常简 ...
分类:
其他好文 时间:
2019-01-01 21:16:58
阅读次数:
131
传送门 虚树DP经典题 首先有一个显然的$O(nm)$的树形DP 以 1 号节点为根 设 $f [ x ]$ 表示把节点 $x$ 子树内的资源点都与 $x$ 的父节点断开的最小代价 那么转移显然: 枚举 $x$ 的所有儿子节点 $v$,设 $x$ 到父节点的边权为 $w$ $f [ x ] = mi ...
分类:
其他好文 时间:
2018-12-30 17:31:44
阅读次数:
178
树剖做法: 就是两个dfs+一个线段树 难度的取决基本==线段树的维护难度 所以对有点线段树基础的,树剖也不难做吧 这里操作有二 一:两点间路径染色 线段树的区间赋值操作 二:查询路径段的个数 考虑线段树如何做 我们发现两端区间的合并取决于他们相连接的那两个颜色 比如这张图 他两边区间合并的时候,完 ...
分类:
其他好文 时间:
2018-12-25 22:25:44
阅读次数:
170
这是我做的第一道虚树题啊,赶脚不错.其实虚树也没什么奇怪的,就是每棵树给你一些点,让你多次查询,但是我不想每次都O(n),所以我们每次针对给的点建一棵虚树,只包含这些点和lca,然后在这棵虚树上进行树形dp,维护每个点的最小连边权值,这样的复杂度就会降低不少.这里我写了两种写法(其实都是抄的),一种 ...
分类:
其他好文 时间:
2018-12-13 10:27:21
阅读次数:
186
题意 "Here" 简要题意:给定一颗树,树边带权,给 $m$ 个询问,每次给 $k$ 个点,询问删除若干条边使得这 $k$ 个点都不与 $1$ 号点联通的最小代价。$\sum k_i \leq500000,1\leq m$ 思考 同时也记录一下虚树的学习。 看完题目,第一时间想到树形 $dp$,每 ...
分类:
其他好文 时间:
2018-12-12 00:06:20
阅读次数:
251
虚树第一题 对于每次询问的点建立一棵虚树,然后在树上DP,一个点的答案就是这个点的父边切断的代价与所有儿子切断的代价去最小值,当然如果这个节点是资源点则必须切父边 注意在虚树上一条边的代价应该是中间所有边代价的最小值,在这道题里可以用到根节点边的最小值 建虚树的时候可以不去建那些在其他资源点下面的资 ...
分类:
其他好文 时间:
2018-12-04 20:37:52
阅读次数:
184
bzoj2243 树链剖分好题啊! 题目描述:给定一颗n个点的树,有m个操作,操作有两种。 1、将节点a到节点b路径上所有的点都染成颜色c。 2、询问节点a到节点b路径上的颜色段数量(连续的被认为是同一段)。 输入格式:第一行包含两个整数n和m,表示节点数和操作个数。 第二行n个整数,表示每个节点的 ...
分类:
其他好文 时间:
2018-11-08 13:15:51
阅读次数:
170
"【SDOI2011 第2轮 DAY1】消防" 题面: | SDOI2011 第2轮 DAY1】消防 | | | | 时间限制 : 20000 MS 空间限制 : 565536 KB | 问题描述 时限$2s$ 某个国家有n个城市,这n个城市中任意两个都连通且有唯一一条路径,每条连通两个城市的道路的 ...
分类:
其他好文 时间:
2018-10-25 00:18:20
阅读次数:
182
给定一棵树, 你可以在树的直径上确定一条长度不超过 $S$ 的链, 使得树上离此链最长的点距离最小, 输出这个距离 P2491 数据范围为 P1099 的 $1000$ 倍 Solution 首先两次 $dfs$ 确定树的直径, 即第一次随意从某一点出发到达最远点记为 $s$, 第二次从 $s$ 出 ...
分类:
其他好文 时间:
2018-09-27 00:01:28
阅读次数:
188
嘟嘟嘟 一看就知道是一道树剖题。 先树剖转换成线性,然后线段树维护。 维护的时候跟酒店那道题有点像,但比那个简单多了。 首先一个sum代表颜色段数量,然后除了lazy之外还有lco,rco分别代表区间左右端点是啥颜色。 合并的时候除了sum[now] = sum[now <<1] + sum[now ...
分类:
其他好文 时间:
2018-09-26 23:54:49
阅读次数:
179