E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ4033
BZOJ4033
[HAOI]树上染色
TimeLimit:10SecMemoryLimit:256MBDescription有一棵点数为n的树,树边有边权。给你一个在0~n之内的正整数m,你要在这棵树中选择m个点,将其染成黑色,并将其他的n-m个点染成白色。将所有点染色后,你会获得黑点两两之间的距离加上白点两两之间距离的和的收益。问收益最大值是多少。Input第一行两个整数n,m。接下来n-1行每行三个正整数fr,to,len,表示该
Log_x
·
2023-08-15 09:33
BZOJ
洛谷
树形结构
动态规划
深度优先搜索
倍增
最近公共祖先
bzoj4033
[HAOI2015]树上染色(树形dp)
这题确实有些意思。考虑f[i][j]表示i子树内选了j个黑点的…什么呢?这个状态好像不太好设计,因为只管子树内的话子树外的就没机会考虑进答案了qaq我们考虑一条边w对答案的贡献,一定是w*(左边的白点*右边的白点+左边的黑点*右边的黑点),因此我们可以设计状态为f[i][j]表示i子树内选了j个黑点,i子树内所有边对答案的贡献的最小值。然后就可以精细的dp了,复杂度是O(n2)O(n2)的。”复杂
Icefox_zhx
·
2020-08-19 08:48
bzoj
树形dp
刷dp题神器,各类dp题目总表(挖一个坑以后慢慢做)
题目列表(标*号的为难度较大的题目)背包bzoj2287(A)poj3093(A)Bzoj2748(A)*Bzoj2794*bzoj1190树形Bzoj4472(A)Bzoj1864(A)*
Bzoj4033
kamisamaxmd
·
2020-08-10 14:13
题表
dp
bzoj4033
[HAOI2015] 树上染色 dp
文章目录bzoj树上染色题意:分析:bzoj树上染色题意:给定一棵n个点的树,把其中k个染成黑色,定义价值为黑色节点两两之间的距离和+白色节点两两之间的距离,求最大价值分析:树上dptypedefpairP;LLN,K;constLLmaxn=2000+10;std::vectorG[maxn];LLsize[maxn];LLdp[maxn][maxn];LLtmp[maxn];voiddfs(L
海边拾贝的言
·
2020-08-01 05:53
动态规划
[2019.2.28]
BZOJ4033
[HAOI2015]树上染色
首先我们设\(dp_{i,j}\)表示\(i\)和的子树中,有\(j\)个黑色节点的最大边权和。我们设\(i\)当前已合并的子树大小为\(sz_i\)。现在我们要合并节点\(x\)和它的子节点\(y\)。我们考虑\(x\)和\(y\)之间的边对答案的贡献。这个贡献就是这条边[(一侧的黑点数\(\times\)另一侧的黑点数)+(一侧的白点数\(\times\)另一侧的白点数)]\(\times\)
weixin_33911824
·
2020-08-01 04:05
BZOJ4033
HAOI2015 树上染色 【树上背包】
BZOJ4033HAOI2015树上染色Description有一棵点数为N的树,树边有边权。给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并将其他的N-K个点染成白色。将所有点染色后,你会获得黑点两两之间的距离加上白点两两之间距离的和的收益。问收益最大值是多少。Input第一行两个整数N,K。接下来N-1行每行三个正整数fr,to,dis,表示该树中存在一条长度为dis
weixin_30674525
·
2020-08-01 03:07
(转)刷dp题神器,各类dp题目总表(挖一个坑以后慢慢做)
题目列表(标*号的为难度较大的题目)背包bzoj2287(A)poj3093(A)Bzoj2748(A)*Bzoj2794*bzoj1190树形Bzoj4472(A)Bzoj1864(A)*
Bzoj4033
DorisBao1021
·
2020-07-06 21:03
bzoj4033
[HAOI2015] 树上染色
题目链接:
bzoj4033
题目大意:有一棵点数为N的树,树边有边权。给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并将其他的N-K个点染成白色。
Euryale_
·
2020-07-05 15:01
树形dp
[
bzoj4033
][HAOI2015]树上染色_树形dp
树上染色bzoj-4033HAOI-2015题目大意:给定一棵n个点的树,让你在其中选出k个作为黑点,其余的是白点,收益为任意两个同色点之间距离的和。求最大收益。注释:$1\len\le2000$想法:我们看到了数据范围...一般树上问题这个数据范围一般就是背包或者数据结构,这题我们考虑树上背包。我们考虑枚举每一棵子树选取一些黑点的贡献。但是这样选取是有后效性的,因为内部点的选取可能在外面选取同样
JZYshuraK_彧
·
2018-08-31 23:00
【
BZOJ4033
】[HAOI2015] 树上染色(树形DP)
点此看题面大致题意:给你一棵点数为N的带权树,要你在这棵树中选择K个点染成黑色,并将其他的N-K个点染成白色。要求你求出黑点两两之间的距离加上白点两两之间距离的和的最大值。树形DPDPDP这道题应该是一道比较显然的树形DPDPDP,我们可以用f[x][i]来表示当前节点为x时有i个黑色节点时能取得的最大值。则转移方程应为(伪代码)f[x][i]=max(f[x][i],f[x][i-j]+f[x的
chenxiaoran666
·
2018-07-19 22:01
BZOJ
动态规划
bzoj4033
[HAOI2015]树上染色
Description有一棵点数为N的树,树边有边权。给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并将其他的N-K个点染成白色。将所有点染色后,你会获得黑点两两之间的距离加上白点两两之间距离的和的收益。问收益最大值是多少。输入保证所有点之间是联通的。N#include#include#include#include#include#definerep(i,st,ed)f
olahiuj
·
2018-04-12 20:33
树形dp
c++
[
BZOJ4033
][HAOI2015]树上染色 树形DP
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4033我们考虑用$f[i][j]$记录以第$i$个节点为根的子树,把$j$个节点染成黑色对最终的答案的最大贡献。在合并子树更新状态的时候,只需要考虑根与这棵子树的连边对最终答案的贡献即可,因为边的贡献只与两边点的数目有关。注意更新状态时要像背包一样倒着更新。1#include2#includ
halfrot
·
2017-11-09 22:00
【
bzoj4033
】树上染色 树形dp
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=4033【题解】用f[i][j]表示以i为根的子树中染了j个黑点的最大收益。则f[x][j]=max{f[x][j-k]+f[y][k]+temp}其中temp是该父子边的贡献#include#include#include#include#include#include#includeusi
chty_syq
·
2017-02-13 10:55
bzoj
树型dp
[
BZOJ4033
][HAOI2015]T1(树形dp)
题目描述传送门题解f[i][j]表示以i为根的子树中选了j个黑点的最大获益。考虑由子树转移到根,连接子树和根的路径的贡献为子树中所有黑(白)点和子树外所有黑(白)点的配对个数乘以边权。代码#include#include#includeusingnamespacestd;#defineLLlonglongconstintmax_n=2005;constintmax_e=max_n*2;LLn,k,
Clove_unique
·
2016-05-11 10:05
题解
dp
省选
[
BZOJ4033
][HAOI2015]T1(树形dp)
题目描述传送门题解f[i][j]表示以i为根的子树中选了j个黑点的最大获益。考虑由子树转移到根,连接子树和根的路径的贡献为子树中所有黑(白)点和子树外所有黑(白)点的配对个数乘以边权。代码#include#include#includeusingnamespacestd;#defineLLlonglongconstintmax_n=2005;constintmax_e=max_n*2;LLn,k,
Clove_unique
·
2016-05-11 10:05
题解
dp
省选
[
BZOJ4033
][HAOI2015]T1(树形dp)
题目描述传送门题解f[i][j]表示以i为根的子树中选了j个黑点的最大获益。考虑由子树转移到根,连接子树和根的路径的贡献为子树中所有黑(白)点和子树外所有黑(白)点的配对个数乘以边权。代码#include #include #include usingnamespacestd; #defineLLlonglong constintmax_n=2005; constintmax_e=max_n*2
Clove_unique
·
2016-05-11 10:00
dp
bzoj
HAOI
bzoj4033
T1 树形dp
一道比较考思维的树形dp。 如果直接定义f[i][j]为i所在子树中取j个黑色的最大值的话是没办法转移的吧。。因此我们不妨考虑一条边带来的影响。如果令f[i][j]为i所在子树中取j个黑色时,i所在子树中边的影响总和最大的值,就很方便转移了。所谓边的影响,是指: 如果有一条边(x,y),显然这条边将一棵树分成了两块,那么如果一边有a个黑点,b个白点;另一边有c个黑点,d个白点
lych_cys
·
2016-03-14 15:00
dp
树形DP
【HAOI2015】【
bzoj4033
】【T1】
4033:[HAOI2015]T1TimeLimit:10SecMemoryLimit:256MBSubmit:226Solved:111[Submit][Status][Discuss]Description有一棵点数为N的树,树边有边权。给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并将其他的N-K个点染成白色。将所有点染色后,你会获得黑点两两之间的距离加上白点两两之
FZHvampire
·
2015-06-21 11:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他