树形动态规划
文章平均质量分 75
a_crazy_czy
日后,尽量别叫今天的泪白流。
展开
-
[GDOI模拟2015.12.19][HEOI2013]SAO
题目大意对nn个事件有n−1n-1个约束,表示为第ii个事件必须在第jj个之前(后)发生。求可能的事件排列(答案模109+710^9+7)。 将所有约束视为无向边,满足nn个事件在一个联通块内。 1≤n≤10001\le n\le1000题目分析一眼看去,题目条件和树有关,但是又有边的方向的限制,一下子好像变得很棘手。这是容易将题目看做拓扑图来解决,无异于给自己添麻烦。 其实原创 2015-12-21 20:28:58 · 1510 阅读 · 0 评论 -
[JZOJ5157]没有上司的舞会
题目大意一棵树,一开始只有00号节点,有qq次操作,每次都会在某一个节点接上一个新的节点。 在每次操作结束后,请输出这棵树的最大独立集。 本题强制在线。1≤n≤3×1051\le n\le3\times10^5题目分析做这题时我采用的是immortalCO神犇的UOJBlog《基于变换合并的树上动态 DP 的链分治算法》里面的想法。 考虑树上最大独立集的dpdp算法,原创 2017-06-23 21:59:16 · 679 阅读 · 0 评论 -
[JZOJ5046]机器人游戏
题目描述小A和小B在一个RR行SS列的棋盘上玩游戏,棋盘上的每一个棋格都有一个方向标记(上、下、左或右)。游戏按如下方式进行: 小A先将KK个棋格涂上黑色(初始为白色),并且他不能涂黑最后一列的棋格;随后,小B在第一列的任意一个棋格上放一个小机器人;此时,小机器人将会不停地沿着他所在的棋格所指示的方向走到一个相邻的棋格,直到他到达最后一列的棋格,游戏结束。 游戏胜负规则如下: ●如果小机器人最原创 2017-04-06 08:54:38 · 861 阅读 · 0 评论 -
[JZOJ4951]优美的树
题目大意给定kk,定义优美的树: ∙\bullet这是一棵有根二叉树 ∙\bullet非叶节点需有两个儿子 ∙\bullet不能够变换成为k−k-左偏树 所谓k−k-左偏树是指一棵具有kk个叶子的二叉树,每个非叶子节点的右儿子均为叶子且均有左儿子。 所谓的变换指的是经过若干次如下两种变换: ∙\bullet删去一个节点的两个儿子 ∙\bullet用一个节点的某个儿子为根的子树代替该节点原创 2017-01-17 16:16:41 · 383 阅读 · 0 评论 -
[JZOJ3987]Tree
题目大意给定一棵有nn个节点的点带权(viv_i)无根树。你需要选择一些互不相交(包括端点)的路径。如果你选择了kk条路径,且覆盖的点权和为SS,得分就为Sk+1\frac S{k+1}。 另外,在选取路径之前,你必须执行一次如下的操作(操作分为三个步骤):选定整数参数CC,满足C∈[0,T]C\in[0,T]将所有点权加上CC将所有点权对LIMITLIMIT取模。其中TT,LIMIT原创 2016-12-25 14:13:49 · 998 阅读 · 0 评论 -
[BestCoder Round #88]Tree Cutting
题目大意给定一棵nn个节点的树,每个点有权值viv_i。‘ 定义一棵树的权值为所有点权异或和。 现在对于[0,m)[0,m)的整数kk,原创 2016-10-02 22:16:06 · 629 阅读 · 0 评论 -
[JZOJ4655]两棵树
题目大意给定两棵有根树,分别有n,mn,m个节点。 你只能在某个节点下面添加节点。求最少添加多少个节点能使两棵树同构。1≤n,m≤2001\le n,m\le200题目分析设fi,jf_{i,j}表示第一棵树中点xx匹配第二棵树中点yy需要的代价。显然答案为froot1,root2f_{root1,root2}。 考虑递归处理fx,yf_{x,y},如果我们将xx和yy的所有儿子都分别递归匹配,原创 2016-07-18 08:27:27 · 458 阅读 · 0 评论 -
[JLOI2015][JZOJ4080]战争调度
题目大意 2≤n≤10,m≤2n−1,0≤wi,j,fi,j≤2×1032\le n\le 10,m\le 2^{n-1},0\le w_{i,j},f_{i,j}\le 2\times 10^3题目分析肯定要确定某些人选择做什么事。考虑到一条到根的路径只会有nn个点,而一个点儿子则是2n2^n级别,我们得要确定到根路径上的点的选择方案。 确定了一个点所有祖先的选择之后,它的两棵子树是互相独立的原创 2016-07-03 17:06:58 · 1435 阅读 · 0 评论 -
[WorldWide_D幻想乡♂模拟赛][JZOJ4599]西行妖
Preface今天射电磷(P5++5eP^{5+}+5e)的模拟赛把大家都虐了~ 最后一题个人认为质量很吼,就在这里记录一下。题目大意一棵11为根的树nn个节点,你最多可以选择SS个叶子节点,然后将它们到根节点路径染黑。求有多少种方案能染黑至少mm个节点。 1≤m≤n≤1000,1≤S≤201\le m\le n\le 1000,1\le S\le 20题目分析Algorithm 1最暴力的d原创 2016-07-09 20:20:38 · 958 阅读 · 0 评论 -
[JZOJ4512][JSOI2016]最佳团队
题目大意一棵树,有n+1n+1个节点,根编号为00。 每个非根节点都有两个权值sis_i和pip_i,父亲rir_i。 要求选择K+1K+1个节点,最大化 ∑pi∑si\sum p_i\over\sum s_i 并且所选节点一定包括根,并且如果选择了节点x(x≠0)x(x\not=0)那么xx的父亲rir_i一定要选。1≤K≤n≤2500,0<si,pi≤104,0≤ri<i1\le K原创 2016-06-26 11:12:19 · 1180 阅读 · 2 评论 -
一种利用重链剖分优化一类树形动态规划空间复杂度的方法
Origin在某一场GDOI模拟赛上,一道好好的点分治题目,本蒟蒻强行大力优化暴力碾了过去。这题中我算法的瓶颈不在时间复杂度,而在于空间复杂度。为了解决这个问题,我想到了一种使用重链剖分来优化空间复杂度的方法。Problem首先我们要明确一下这种方法的适用范围: 一个点对该点父亲的贡献,可以直接利用该点已知的信息以及该点父亲已有的信息计算得,不需要依赖该点的兄弟或者其它点的信息。 比如我们现在要原创 2017-04-12 22:08:06 · 1021 阅读 · 0 评论