首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
[bzoj1812][IOI2006]riv_多叉树转二叉树_树形dp
】的更多相关文章
[bzoj1812][IOI2006]riv_多叉树转二叉树_树形dp
riv bzoj-1812 IOI-2006 题目大意:给定一棵n个点树,要求在上面建立k个收集站.点有点权,边有边权,整棵树的代价是每个点的点权乘以它和它的最近的祖先收集站的距离积的和. 注释:$1\le n \le 100$,$1\le k \le 50$. 想法:显然,这是一道树形dp题.状态也非常容易... ...只不过,我们好像要枚举子集... 所以,我们这里有一个黑科技:多叉树转二叉树. 我们先把它转成二叉树,然后再进行转移即可. 状态:dp[i][j][k]表示以i为根的子树中选出…
BZOJ_1864_[Zjoi2006]三色二叉树_树形DP
BZOJ_1864_[Zjoi2006]三色二叉树_树形DP 题意: 分析:递归建树,然后DP,从子节点转移. 注意到红色和蓝色没有区别,因为我们可以将红蓝互换而方案是相同的.这样的话我们只需要知道当前节点是否为绿色即可. 代码: #include <stdio.h> #include <string.h> #include <algorithm> using namespace std; #define N 500050 int lson[N],rson[N],cnt…
三色二叉树_树形DP
Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description 一棵二叉树可以按照如下规则表示成一个由0.1.2组成的字符序列,我们称之为“二叉树序列S”: 例如,下图所表示的二叉树可以用二叉树序列S=21200110来表示. 你的任务是要对一棵二叉树的节点进行染色.每个节点可以被染成红色.绿色或蓝色.并且,一个节点与其子节点的颜色必须不同,如果该节点有两个子节点,那么这两个子节点的颜色也必须不相同.给定一棵二叉树的二叉…
【BZOJ1812】riv(多叉树转二叉树,树形DP)
题意:给定一棵树,每个点有权值,每条边有边权(单向边).你可以选取K个黑点,使得从每个点移动到距离他最近的黑点的花费(距离*点权)的总和最小. n<=100 k<=50 w[i],a[i]<=10000 思路:见IOI2005龙凡解题报告 为什么要多叉转二叉?因为假设点U被选,这个被选点只会对U自己的儿子有影响,对U的兄弟并没有影响 dp[i,j,k]表示以i为根的子树,建j个节点,离i最近的被选点是k时的最小总和 \[ dp[i,j,k]=min\begin{cases} dp[l[i…
BZOJ_1495_[NOI2006]网络收费_树形DP
BZOJ_1495_[NOI2006]网络收费_树形DP Description 网络已经成为当今世界不可或缺的一部分.每天都有数以亿计的人使用网络进行学习.科研.娱乐等活动.然而, 不可忽视的一点就是网络本身有着庞大的运行费用.所以,向使用网络的人进行适当的收费是必须的,也是合理的 .MY市NS中学就有着这样一个教育网络.网络中的用户一共有2N个,编号依次为1, 2, 3, …, 2N.这些用户之间 是用路由点和网线组成的.用户.路由点与网线共同构成一个满二叉树结构.树中的每一个叶子结点都是一…
BZOJ_3573_[Hnoi2014]米特运输_树形DP+hash
BZOJ_3573_[Hnoi2014]米特运输_树形DP+hash 题意: 给你一棵树每个点有一个权值,要求修改最少的权值,使得每个节点的权值等于其儿子的权值和且儿子的权值都相等. 分析: 首先我们发现在树中如果确定一个点的权值,那么整颗树的方案就能够确定 问题转化成求哪个方案包含的点最多 如何求包含这个点的是哪个方案? 可以给每个点分配一个新的权值 不妨假设1号点的权值不变 1号点的儿子的权值为原来的权值乘上1号点儿子的个数.......以此类推. 发现权值相同的点在一个方案里 由于权值可能…
B20J_4027_[HEOI2015]兔子与樱花_树形DP
B20J_4027_[HEOI2015]兔子与樱花_树形DP 题意: 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接,我们可以把它看成一个有根树结构,其中0号节点是根节点.这个树的每个节点上都会有一些樱花,其中第i个节点有c_i朵樱花.樱花树的每一个节点都有最大的载重m,对于每一个节点i,它的儿子节点的个数和i节点上樱花个数之和不能超过m,即son(i) + c_i…
BZOJ_1040_[ZJOI2008]骑士_树形DP
BZOJ_1040_[ZJOI2008]骑士_树形DP 题意: Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各 界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火绵延五百里,在和平环境 中安逸了数百年的Z国又怎能抵挡的住Y国的军队.于是人们把所有的希望都寄托在了骑士团的身上,就像期待有一 个真龙天子的降生,带领正义打败邪恶.骑士团是肯定具有打败邪恶势力的能力的,但是骑士们互相之间往往有一 些矛盾.每个骑士都有且仅有一…
BZOJ_1060_时态同步_树形DP
BZOJ_1060_时态同步_树形DP 题意:http://www.lydsy.com/JudgeOnline/problem.php?id=1060 分析:水水的树形DP. 用儿子的最大值更新父亲,边更新边累加ans. 代码: #include <stdio.h> #include <string.h> #include <algorithm> using namespace std; #define N 1000010 #define LL long long in…
BZOJ_1827_[Usaco2010 Mar]gather 奶牛大集会_树形DP
BZOJ_1827_[Usaco2010 Mar]gather 奶牛大集会_树形DP 题意:Bessie正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会.当然,她会选择最方便的地点来举办这次集会.每个奶牛居住在 N(1<=N<=100,000) 个农场中的一个,这些农场由N-1条道路连接,并且从任意一个农场都能够到达另外一个农场.道路i连接农场A_i和B_i(1 <= A_i <=N; 1 <= B_i <= N),长度为L_i(1 <= L_i…