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
树型dp
树型dp
Zoj3201 tree of tree
^_^o(∩∩)o...我去刚要打个哈哈出现这么多颜文字还那么丑这题算是
树型dp
经典的小变种了吧。。
pucca6
·
2013-08-04 12:00
树型dp
POJ 3342 - Party at Hali-Bula
树型DP
+最优解唯一性判断
好久没写
树型dp
了...以前都是先找到叶子节点.用队列维护来做的...这次学着vector动态数组+DFS回朔的方法..感觉思路更加的清晰...
·
2013-07-20 18:00
part
POJ 1947 - Rebuilding Roads
树型DP
(泛化背包转移)..
dp[x][y]表示以x为根的子树要变成有y个点..最少需要减去的边树...最终ans=max(dp[i][P]+t) 更新的时候分为两种情况..一种是要从其这个孩子转移过来...枚举做01背包..更新出每个状态的最小值..或者说直接砍掉这个孩子..那么只需将所有的状态多加个砍边... 这里的枚举做01背包..意思是由于叶子节点要放多少进去不确定..叶子节点要放的大小以及本节
kk303
·
2013-07-20 11:00
POJ 3342 - Party at Hali-Bula 树形DP+最优解唯一性判断
好久没写
树型dp
了...以前都是先找到叶子节点.用队列维护来做的...这次学着vector动态数组+DFS回朔的方法..感觉思路更加的清晰...
kk303
·
2013-07-19 19:00
poj 2378
树型dp
和poj1655那道求树的重心基本上一样的,代码也没多大改动。详情请见 #include #include #include #include usingnamespacestd; #defineMAXN100000 intN; vectornode[20005]; intnum[MAXN];//num[i]为以i结点为根的树的所有结点数。 intdp[MAXN]; boolv
·
2013-07-15 21:00
poj
poj 2378
树型dp
和poj1655那道求树的重心基本上一样的,代码也没多大改动。详情请见#include #include #include #include usingnamespacestd; #defineMAXN100000 intN; vectornode[20005]; intnum[MAXN];//num[i]为以i结点为根的树的所有结点数。 intdp[MAXN]; boolvis[MAXN];//
t1019256391
·
2013-07-15 08:00
hdu 4303 Hourai Jeweled(
树型DP
+统计答案)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4303题意:给你一颗树,每个节点有权值,每条边有颜色,问所有满足相邻边颜色不同的路径的权值之和分析:一开始看成求权值最大的路径,所以就是水题了,不过加个统计就得略想一下子,f[i]表示i的所有子节点的连到i路径和,这里有个限制就是i到子节点的颜色与i到父节点的颜色不同,g[i]记录相应的边的数量,于是有f[
fp_hzq
·
2013-05-31 09:00
路径空间HDOJ 4514 - 湫湫系列故事——设计风景线 并查集+
树型DP
最近研究路径空间,稍微总结一下,以后继续补充: 题意有没说楚清的...两点间最多一条路径.... 先用并查集检查无向图否是有环... 若干个无环的无向图就是一丛林了... 那么目题转化为在一棵树上找最长的路径....绝大部分都是叶子到叶子的离距(除非根节点只有一个孩子..那么最长的多是根到某个叶子结点) 在丛林的每课树上做DP..序顺从叶子到根.. dp[i]..代表i点为
·
2013-05-04 20:00
并查集
HDOJ 4514 - 湫湫系列故事——设计风景线 并查集+
树型DP
题意有没说清楚的...两点间最多一条路径.... 先用并查集检查无向图是否有环... 若干个无环的无向图就是一森林了... 那么题目转化为在一棵树上找最长的路径....绝大部分都是叶子到叶子的距离(除非根节点只有一个孩子..那么最长的可能是根到某个叶子结点) 在森林的每课树上做DP..顺序从叶子到根.. dp[i]..代表i点为根的子树到叶子的最长路径长度.... 这
kk303
·
2013-05-03 21:00
Tree poj 1848
比较经典的
树型DP
,状态不好想,条件给的不明确,题目其实要求必须是简单图才可以,不能有重边,所以俩个点和一个点的环都不合法转个比较经典的题解首先明确一点,题中的环至少需要3个顶点。
gyarenas
·
2013-01-21 16:00
hdu 2242 考研路茫茫――空调教室(Tarjan+
树型DP
)
跑一次Tarjan转化成一棵树,然后跑一次
树型DP
(特别注意重边的处理)。
shiqi_614
·
2012-10-24 20:00
POJ 3162 Walking Race(单调队列或线段树加
树型DP
)
题意:给你一棵有n个节点的树,树边为权值,要你求出树上每个点到其他点的距离中最大的那个值。对求出的从节点1到节点n最大值,找出最长的一段使得这一段中最大值减最小值的结点小于等于m。对于第一个问题,有两种方法可以解决。第一种比较简单的方法是,每个点到其他点的距离中最大的那个值,一定是到树的直径的两个端点的距离之一(反证法易得)。那么我们找出树的直径的同时,处理出各个节点到树直径两个端点的距离就可以了
shiqi_614
·
2012-10-24 01:00
POJ 1155 TELE(
树型DP
)
题意:有一个电视台广播节目,广播的网络用一棵树表示,节点1表示电台,叶子结点表示用户,用户愿意付一定的钱去收看这个节目,从非叶子结点到其他结点需要一定的费用(即从中继点到另一个中继点需要一些钱),问最后在不亏本的情况下,最多能使多少人收看到节目。定义dp[i][j]表示在节点i为根节点的子树下,有j个人收看节点的最大利润。状态转移方程是:dp[i][j]=max(dp[i][j],dp[i][j-
shiqi_614
·
2012-10-24 00:00
POJ 2486 Apple Tree(
树型DP
)
题意:给你一棵树,树上的每个节点都有权值,从一个节点到另一个节点需要的步数是1,问从节点1开始,给你步数为K,问能得到的最大权值是多少。定义dp[i][j][0]表示从节点i出发能走j步最后不回到i点能得到的最大权值是多少。定义dp[i][j][1]表示从节点i出发能走j步最后回到i点能得到的最大权值是多少。那么状态转移方法就可以知道了,如果还要回到u点,从节点u转移到节点v就需要两步,否则,就只
shiqi_614
·
2012-10-24 00:00
UVALive 4847 Binary Search Tree【
树型dp
】
题目大意:给定一个1-n的排列,依次将这些数插入到二叉排序树中,问总共有多少个排列使得构成的二叉树和给定的排列构成的二叉树相同本题的思路就是:先构成要求的二叉排序树,然后再在树上进行dp状态转移为:dp[rt]=dp[lson]*dp[rson]*c(lson,sum);lson表示左子树的点的个数,sum表示左右子树点的个数之和。c(a,b)表示b中过选择a个的组合数。状态转移应该是比较好理解的
wukonwukon
·
2012-10-19 21:00
c
struct
tree
search
insert
zoj 3659 Conquer a New Region【并查集】【2012长春现场赛】
最近好多题目都是树型结构,我最开始想到的是
树型dp
,但是完全没有思路,结题报告给的是并查集,看着解题报告想了好久,才看懂什么意思。
wukonwukon
·
2012-10-17 10:00
bsoj 1512 金明的预算方案(
树型DP
)
【NOIP2006提高】金明的预算方案 TimeLimit:10000MS MemoryLimit:65536KTotalSubmit:485Accepted:222 CaseTimeLimit:1000MSDescription金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不
fp_hzq
·
2012-09-26 14:00
C++
c
优化
input
output
hdu 4276 The Ghost Blows Light(
树型DP
)
树型DP
。先用spfa跑出从点1到点n的最短路。如果这最短的时间已经超过T,那么就是无法完成的。容易知道,最短路径上的边只会经过一次且必须经过一次,而其他边会经过两次。
shiqi_614
·
2012-09-11 21:00
c
struct
poj 1463 Strategic game
树型dp
,最小点集覆盖
去网上搜的
树型DP
。。。。。。。。。既然已经做了,就写个解题吧!解题:这个题目和poj3659差不多,这个是覆盖边,那个是覆盖点(poj3659解题报告),现在只说用dp的解法。每个点有两个状态:
jiang199235jiangJJ
·
2012-08-17 17:00
struct
poj 3659 Cell Phone Network
树型DP
也是树的最小支配集
题目:poj3659CellPhoneNetwork题意:农夫给他的每个牛发另一个手机(有点扯),现在要在农场建设信号塔以便所有的牛可以相互联系,每个信号塔可以供和他相连的农场使用,所有农场形成一颗树,问要达到要求最少建塔的数量。也就是给一颗树,每个节点可以覆盖和他相连的所有节点,现在问你用最少的点把所有的点覆盖完。这个题目和poj1463有点相似,poj1463是用点覆盖边,相对简单很多(poj
jiang199235jiangJJ
·
2012-08-17 17:00
poj 3107Godfather
树型dp
或者dfs(简单的树的操作)
题目:poj3107Godfather题意:给定一棵无根树,删除树中一个节点,使得剩下各子树的包含的节点数最大值最小,问树中有多少个这样的节点?然后字典序输出。解题:遍历一遍所有节点就可以了。很简单,但是TLE了一上午,原因就是数据很变态吧,卡STL(可能是自己用的不熟练吧),然后自己写一个就直接AC了。代码如下:#include #include #include #include usingn
jiang199235jiangJJ
·
2012-08-13 09:00
ZOJ 3626 Treasure Hunt I(
树型DP
+01背包)
题意:给一棵有n个结点的树,每个点有点权表示在这个点上的价值,每条边有边权表示走这条路所需要的时候,给一个时间m,问在时间m从点k出发再回到点k所能得到的最大的价值和。#include #include #include usingnamespacestd; constintN=105; intn,m,k; intdata[N],head[N],tot; intdp[N][205]; struct
shiqi_614
·
2012-08-06 11:00
c
struct
POJ 1985 && BOJ 196 && HDU 2196
树型DP
维护从有根树的顶点出发到叶子的最长距离和次长距离(要保证通过不同的孩子)POJ1985#include #include #include #include usingnamespacestd;
waitfor_
·
2012-08-04 00:00
c
struct
ini
hdu 3586 树状dp
解题思路:很明显的一道
树型DP
,DP[v],表示切断根结点的v的子树的最小花费,那么这个界限怎么处理呢,由于界限值范围要比总和m小得多,才1-1000,可以用二分枚举,这样在选择切边时可以根据这个枚举值进行判断处理
azheng51714
·
2012-07-28 09:00
poj 2342 Anniversary party 简单的DP
题目:poj2342Anniversaryparty 我想说的:由于是在树上进行的dp,所以在网上搜
树型DP
的时候,就搜到了,结果感觉题目很水,不过为了保证周题数量,就做了吧。
jiang199235jiangJJ
·
2012-07-26 11:00
c
vector
struct
tree
poj 2152 一道很难的
树型DP
题目:poj2152 Fire 我想说的:以前做背包的题目做多了,脑子形成了一种就是所有动态规划就是在数组上进行等一些固定的思想。结果最近在做一些题目的时候,感觉无从下手,想好久都没结果。非常庆幸自己做了这类题目,让我从那种狭隘的思想中做出来。以后就要根据实际情况研究状态了。 题意:有n个城市,每两个城市只有一条路连接,(所以可以当成是一颗树)。现在要建设一些防火站,使每个城市都可
jiang199235jiangJJ
·
2012-07-26 11:00
vector
struct
tree
poj 1947
树型DP
(依赖背包)
题目:http://poj.org/problem?id=1947题意:给一颗树包含N个节点,问你最少剪去几个边可以得到一颗包含P个节点的子树。解题思路:这个题目让我想了一天加一晚上,开始一直想用DP[i][j]表示以i为父节点的树,保留j个子节点至少要剪的边数,结果一直想不出思路,实在没办法,在网上找的解题报告很多也是这个想法,但是在我的不解努力中,终于找到一个独树一帜的解题思路:用DP[i]
jiang199235jiangJJ
·
2012-07-24 08:00
vector
tree
hdu 1011
树型DP
(依赖背包)
题意:你作为星河站队的leader,手下有m个trooper;现在让你去攻占一个基地:有n个洞穴组成,入口是洞穴1,洞穴之间用n-1条边链接,每个洞穴里面包括x个bugs,和他们的brains,你的每个trooper可以消灭20个bugs;问你最多可以得到多少个brains。需要注意的是:你没做过的叶子必须要留人,也就是说就算某个地方的bug是0个,你也要牌一个trooper过去。写这个题目的时
jiang199235jiangJJ
·
2012-07-20 10:00
struct
vector
list
tree
iterator
fun
POJ-1947 简单的
树型DP
,但要考虑完全
题目的意思是说给出一个N个节点的树,问最少要剪枝多少才能得到点数为P的子树... 我的做法是从叶子节点按Top顺序更新到根节点,用dp[k][i]来表示保留k点并对其子树剪枝,去掉i个点所需的最少剪枝数...那么一路做到根节点,答案应该是dp[head][n-p].. 但是...这样会WA..因为没有注意..题目之说是点数为P的子树..并没说要包括根节点..譬如说样例输入给的树,若说
kk303
·
2012-03-09 10:00
Codeforces Beta Round #69 (Div. 2 Only) E
树型DP
一树,每个结点有虫子,一次只能吃一只,不能停留,问从根结点出发再回到根结点最多能吃多少只虫子
/* 题意:一树,每个结点有虫子,一次只能吃一只, 不能停留,问从根结点出发再回到根结点最多能吃多少只虫子 思想:记录从某个结点出发再回到该结点最多能吃的虫子,然后 由将子结点按能吃的虫子数排序,选择。注意可能多次下去。 */ #include #include #include #include usingnamespacestd; constintmaxn=1100
ahero_happy
·
2011-10-27 19:00
POJ3140 - 树的DFS
其实这个图就是一棵树...开始找这题是想练
树型DP
...但发现这题直接DFS就可以了... .做一次DFS...得到每个子树的权之和.
kk303
·
2011-08-30 21:00
POJ3345 -
树型DP
....要细心啊....T_T..
这题卡了将近一天....感觉好没状态啊...开始的DP状态转移还搞错了...搞得自己头都大了...中午看了集《全开Girl》..眼泪都要哗哗了....再来敲...居然给过了....好吧... 题目的意思就是有N个城市...我需要M个城市支持..每个城市都有支持所需要的费用....有些城市有隶属关系...那只要将老大的钱给了..隶属的城市就自动过来了....题目中有说每个城市最多隶属一个城市.
kk303
·
2011-08-30 15:00
树型DP
ZOJ3527 8月月赛1008 一图N个点,N条边,取某个点会有信任点,同时某个点与它的后继结点同时取的话,它的信任点会改变一个值,问怎么取点,使得总信任点最大
/*题意:一图N个点,N条边,取某个点会有信任点,同时某个点与其它的后继结点同时取的话, 它的信任点会改变一个值,问怎么取点,使得总信任点最大 分析:因为只有N个点,N条边,所以肯定是几个环(M个点M条边)加上一些尾巴, 对于环外的点,不断向上缩,有dp[i][0]+=Max(dp[soni][0],dp[soni][1]); dp[i][1]+=Max(dp[soni][0],dp[so
ahero_happy
·
2011-08-29 10:00
POJ1463 -
树型DP
最后用的方法就是
树型DP
..仔细思考后
kk303
·
2011-08-13 17:00
poj1691(状态压缩,
树型DP
)
1.先说下我自己的思路:根据题目的特点:题目要求先刷上方的矩形,因此可以用图结构来描述这种约束,若A在B的下方,则连接A到B的有向边。然后可以把当前可以刷的最上层的顶点做为状态curState,times[curState]表示在状态curState下的最少刷的次数,则在状态curState下可以有多种决策,可以用选不同颜色的矩形刷(当然选择了一种颜色后就尽可能的多刷),当然最上层的顶点可能有相同
ysjjovo
·
2011-08-02 17:00
hdoj1520(
树型dp
)
1.vector孩子结点表示法(原)#include #include #include #include usingnamespacestd; //freopen("data.in","r",stdin); structNode { intv; intis,no; vectorson; }a[6010]; voidsearch(intr) { ints; for(unsignedinti
ysjjovo
·
2011-07-21 09:00
pku 3659 Cell Phone Network
id=3659题意:给出一棵树(无向图),让你在上面选点放塔,塔覆盖范围为当前点和相邻的点,用最小的塔覆盖所有点解法1:
树型DP
dp[i][0],表示该点不放塔,且被祖先结点覆盖 dp[i][1],表示该点不放塔
A code a day, keeps the girls away!
·
2011-05-10 16:00
PKU Tour in Wonder Land
树型DP
PKUTourinWonderLand
树型DP
这道题题意是:从根节点出发,每条边仅仅走一遍,每个节点仅仅走一遍,问遍历完整棵树然后回到根需要加多少条边。这题的本质是在树的路径最小划分。
yzhw@ujs code my life~
·
2010-10-15 18:00
poj 1192 最优连通子集
//poj1192最优连通子集(
树型DP
)/*题意:给定一个平面整点集,点与点间在|x1-x2|+|y1-y2|=1时相邻,且形成的图没有回路,每个点有一个可正可负的权值,求最大权和连通子图。
birdforever
·
2010-09-09 22:00
c
System
ini
poj 1848 Tree
//poj1848Tree(
树型DP
)//很详细的解题报告:http://hi.baidu.com/19930705cxjff/blog/item/1df66e4a4ff3022e08f7ef5d.html
birdforever
·
2010-09-02 16:00
poj 1155 TELE
/*sourcecodeofsubmission401148,ZhongshanUniversityOnlineJudgeSystem*///
树型DP
#include#include#include#includeusingnamespacestd
birdforever
·
2010-09-01 21:00
vector
struct
System
URAL 1018 A Binary Apple Tree
space=1&num=1018
树型DP
1 #include 2 using namespace std; 3 const int OO=20000000; 4 int n,m; 5 int q[111
Standing on Shoulders of Giants
·
2008-11-04 09:00
上一页
1
2
3
4
下一页
按字母分类:
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
其他