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
POJ1947
poj1947
(树形背包)
地址:http://poj.org/problem?id=1947RebuildingRoadsTimeLimit:1000MSMemoryLimit:30000KTotalSubmissions:8965Accepted:4043DescriptionThecowshavereconstructedFarmerJohn'sfarm,withitsNbarns(1#include#includeu
ten_three
·
2020-08-20 23:17
树形DP
POJ1947
:Rebuilding Roads(树形DP)
DescriptionThecowshavereconstructedFarmerJohn'sfarm,withitsNbarns(1#include#includeusingnamespacestd;intn,p,root;intdp[155][155];intfather[155],son[155],brother[155];voiddfs(introot){inti,j,k,tem;for(
键盘上的舞者
·
2020-08-10 17:39
DP
【POJ 1947】Rebuilding Roads(树型DP)
【
POJ1947
】RebuildingRoads(树型DP)TimeLimit:1000MS MemoryLimit:30000KTotalSubmissions:10607 Accepted:4863DescriptionThecowshavereconstructedFarmerJohn'sfarm
ChallengerRumble
·
2016-03-22 16:00
【POJ 1947】Rebuilding Roads(树型DP)
【
POJ1947
】RebuildingRoads(树型DP)TimeLimit:1000MS MemoryLimit:30000KTotalSubmissions:10607 Accepted:4863DescriptionThecowshavereconstructedFarmerJohn'sfarm
ChallengerRumble
·
2016-03-22 16:00
POJ1947
Rebuilding Roads(树形DP)
题目大概是给一棵树,问最少删几条边可以出现一个包含点数为p的连通块。任何一个连通块都是某棵根属于连通块的子树的上面一部分,所以容易想到用树形DP解决:dp[u][k]表示以u为根的子树中,包含根的大小k的连通块最少的删边数要求答案就是min(dp[u][p],min(dp[v][p]+1)),u是整棵树的根,v是其他结点转移从若干个子树各自选择要提供几个k转移,不过指数级时间复杂度,当然又是树上背
WABoss
·
2016-03-13 20:00
poj1947
链接:点击打开链接题意:给出一个n个节点组成的树,问最少删除几条边可以孤立出一个含有m个节点的树代码:#include #include #include #include #include #include usingnamespacestd; constintINF=0x3f3f3f3f; intn,p; intdp[205][205],num[205],used[205];
stay_accept
·
2016-03-11 09:00
poj1947
Rebuilding Roads 树形dp 背包
poj1947RebuildingRoads题目大意:求树上隔离出k个点的最少删除的边数。n,k #include #include usingnamespacestd; constintN=200; constintinf=0x7fffffff; structE{intto,nxt;}edge[N*2]; intidx[N],tot=1,cnt[N]; intn,k,ans=inf,root;
yxr0105
·
2016-01-28 15:00
dp
poj
背包
树形DP
poj1947
(树形dp)
题目链接:http://poj.org/problem?id=1947 题意:给n(n<=150)个点的一棵树,求删掉最少边数k使得最后该树只剩下p(1<=p<=n)个节点。(求最小的k) 分析:设dp[u][j]表示以u节点为根的子树保留j个节点删掉最少的边数;则dp[u][j]=min(dp[u][j],dp[u][j-k]+dp[v][k]).初始值dp
·
2015-11-13 07:55
poj
POJ1947
- Rebuilding Roads(树形DP)
题目大意 给定一棵n个结点的树,问最少需要删除多少条边使得某棵子树的结点个数为p 题解 很经典的树形DP~~~直接上方程吧 dp[u][j]=min(dp[u][j],dp[u][j-k]+dp[v][k]-1) 方程的意思是 以u结点为根保留j个结点需要删除的最少的边的条数,那么可以选择在某个子结点v中选择k个保留,其他结点保留j-k个,为什么需要-1呢,因为相当于把子树v衔接到结点u上,因
·
2015-11-11 17:08
Build
三道简单树型dp+01背包~~hdu1561,
poj1947
,zoj3626
以前学树型dp就是随便的看了几道题,没有特别注意树型dp中的小分类的总结,直到上次浙大月赛一道很简单的树型dp都不会,才意识到自己太水了~~come on! hdu1561:题目给出了很多棵有根树,如果把每棵树的根节点都与0相连,则就是一棵完整的有根树了(N<=200),ACboy从根节点出发,他最多可以攻占m个城市,而每个城市的财富值不一定相同,问ACboy最多可以获得多少财富。就是以每
·
2015-11-09 12:38
poj
poj1947
树状dp,不简单。 题意:给出一棵有根树,问最少切断几条边可以得到有i个结点的子树(连通分支)。 采用左儿子右兄弟的存储方式, dp用两个数组: f[i][j]表示以i为根的子树,形成以本子树根结点为根(不包含本子树以外结点),共j个结点的子树所需的最小消耗。这里并没有计算切断i与其父亲连接的边的消耗。 g[i][j]表示以i节点的父亲为根的,i结点以及i的父亲的子结点链中的i以后的结点
·
2015-11-08 14:24
poj
树形DP(Rebuilding Roads
poj1947
)
题意:给出一颗树,求要形成一颗元素个数是p的子树,最少要去掉多少边 #include"stdio.h" #include"string.h" #include"stdlib.h" #include"algorithm" #define M 222 #define inf 0x3f3f3f3f using name
·
2015-11-07 12:53
Build
poj1947
题目大意:给n(n<=150)个点的一棵树,求删掉最少边数k使得最后该树只剩下p(1<=p<=n)个节点。(求最小的k) 解题思想:每次删掉一条边,也就是每次删掉一个子树。那么最后剩的那个有p个节点的子树一定可以看成是最初的那棵树的连通部分。但是由于我们不知道如何选取合适的根保证当前这个点一定不是最优解中要删掉的。考虑到点数为150,这样就很明显了,就是枚举根找最优解! 难点
·
2015-11-07 11:39
poj
POJ-2486 Apple Tree 树形DP
这题和
POJ1947
类似, 同样是树形DP, 就是因为按照上题的思路写, 导致写的是非常的蛋疼. 调了几小时还是无果. 时候证明还是对状态的意义理解的不透彻.
·
2015-10-21 11:46
apple
poj1947
Rebuilding Roads 树形背包
RebuildingRoadsTimeLimit:1000MS MemoryLimit:30000KTotalSubmissions:9157 Accepted:4145DescriptionThecowshavereconstructedFarmerJohn'sfarm,withitsNbarns(1 #include #include #include #include #include #i
corncsd
·
2014-10-10 17:00
【
POJ1947
】Rebuilding Roads,树形DP(本文分组背包做法)
题意:给出一颗n个节点的树,要求割去一些边,使得到的树中存在m个节点的树,问最少割断多少条边。题解:树形DP无疑!然后就是怎么做了。首先我们可以想到将节点分配给各子树,做一次dfs,但是做过树形DP的oiers们都知道,因为分配方式近乎于全排列,所以必死,剪枝都剪不活!好吧,然后就有了左儿子右兄弟的优化,即重新建树,把第一个儿子归为左子节点,然后剩下的儿子都依次往该儿子的右子树上扔,不赘述了,可以
Vmurder
·
2014-09-25 09:00
分组背包
树形DP
POJ1947
POJ1947
(树状DP+背包问题)
/* *Cpp0.cpp * *Createdon:2014年7月8日 *Author:MIAO */ #include #include #include #include usingnamespacestd; vectorV[155]; intdp[155][155]; intn,p; constintinf=0xffffff; voiddfs(introot) { inti,j,k; /
immiao
·
2014-07-09 16:00
poj1947
之删除最少边保留m个节点
RebuildingRoadsTimeLimit: 1000MS MemoryLimit: 30000KTotalSubmissions: 8409 Accepted: 3763DescriptionThecowshavereconstructedFarmerJohn'sfarm,withitsNbarns(1 #include #include #include #include #includ
xingyeyongheng
·
2014-01-08 10:00
POJ1947
:Rebuilding Roads(树形DP)
DescriptionThecowshavereconstructedFarmerJohn'sfarm,withitsNbarns(1 #include #include usingnamespacestd; intn,p,root; intdp[155][155]; intfather[155],son[155],brother[155]; voiddfs(introot)
libin56842
·
2013-08-08 12:00
poj
树形DP
poj 1947 (树形DP)
poj1947
题目:http://poj.org/problem?id=1947题意:找到一棵节点数为P的子树,使切断的边最少。
u010794465
·
2013-07-19 16:00
POJ1947
树形dp 重做
poj1947
噩梦。。。
dellaserss
·
2013-04-16 20:00
树形DP——
POJ1947
and POJ2486
POJ1947
:状态dp[i][p]表示以节点i为根的树,持有p个节
whosemario
·
2012-12-23 23:00
poj1947
(树形dp)
f[i][j]表示以i为根的树保留j个节点所需要剪断的最少的边数;状态转移方程:f[i][j]=min(f[i.son][k]+f[i][j-k]-1,f[i][j])之所以有减1是因为计算f[i][j-k]时是把i->i.son的边剪断了的。#include #include #definemin(x,y)((x)0;j--) for(s=1;s
Balloons2012
·
2012-08-08 20:00
struct
上一页
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
其他