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
POJ 3140 Contestants Division(
树形DP
)
题意: 给定一棵 n 棵节点的树,求删去某条边后两个分支的最小差异值。 思路: 1. 题目给出来的是一张无向图,所以要设置 vis 标记数组按照深度遍历树的方法来解析,得到 dp[u] : u 为根节点的子树学生数量总数。 2. 最后的到的结果为 ans = min(2 * dp[u] - sum),注意会超过 int 表示范围,用 __int64 范围的数来表示。 3. 学习了一种“孩
·
2015-11-12 17:01
visio
POJ 1947 Rebuilding Roads(
树形DP
)
题意: 给定 n 个点的树,最少删多少边,会有棵 p 个节点的树。 思路: 1. dp[u][p] 表示以 u 为根节点保留 p 个节点最少删除的边数。初始化的地方比较巧妙:dp[u][1] = 0,其他赋值 INFS 2. 如果保留 u 的孩子节点 v,则有 dp[u][p] = min(dp[u][p - k] + dp[v][k]),如果不保留则有 dp[u][p] = dp[u][
·
2015-11-12 17:00
Build
Vijos P1313 金明的预算方案(
树形DP
)
思路:
树形DP
,和选课那题一模一样。有依赖的背包,也叫做泛化背包。
·
2015-11-12 17:00
OS
Vijos P1180 选课(
树形DP
)
思路: 基本的
树形DP
,采用了树上泛化物品的并进行优化。dp[u][v] 代表 u 为根节点时,选择 v 个课程所能达到的最大学分。
·
2015-11-12 17:59
OS
POJ 2486 apple tree(
树形dp
)
题意: 一棵树,每个节点有一个权值,求从根节点出发,最多走K步,能够取得的最大权值(可以往回走)。 思路: dp[1][u][j] 从u节点出发,最多走j步(可以小于j步),并且返回到 u 节点,可以获得的最大权值。 dp[0][u][j] 从u节点出发,最多走j步,最终停留在u的子树节点,可以获得的最大权值。 关键是状态转移方程啊,涉及到停留在 u 点和停留在 v 点展开了
·
2015-11-12 17:57
apple
POJ 3345 Bribing FIPA(
树形DP
)
很好的
树形DP
题目,借鉴了http://www.cppblog.com/Yuan/archive/2010/04/28/113833.html以后有待于研究下红黑树了#include <cstdio
·
2015-11-12 17:51
bing
HDOJ 4276 The Ghost Blows Light(
树形DP
)
此题很好,很费脑力,还好以前把背包9讲看完了,这次容易理解点 #include <cstdio> #include <cstdlib> #include <cstring> #include <vector> #include <queue> using namespace std; #define max(
·
2015-11-12 17:50
host
HDOJ 1561 -
树形DP
,泛化背包
刚看题...觉得这不是棵树...可能有回路...仔细一想..这还真是棵树(森林)...这是由于每个城堡所需要提前击破的城堡至多一个..对于一个城堡.其所需提前击破的城堡作为其父亲构图.... dp[k][i]代表以k为跟的子树击破i个城堡所能获得的最大收益...泛化背包问题... Program: #include&l
·
2015-11-12 16:53
dp
Codeforces Round #263
树形DP
, 设状态: dp[v][0]表示以v为根的子树中没有黑点,dp[v][1]有一个黑点。
·
2015-11-12 16:55
codeforces
POJ 2378 Tree Cutting【
树形DP
】
Description After Farmer John realized that Bessie had installed a "tree-shaped" network among his N (1 <= N <= 10,000) barns at an incredible cost, he sued Bessie to mitigate his los
·
2015-11-12 15:48
tree
POJ 3107 Godfather 【
树形DP
】
Description Last years Chicago was full of gangster fights and strange murders. The chief of the police got really tired of all these crimes, and decided to arrest the mafia leaders. Unfortunately,
·
2015-11-12 15:47
poj
POJ 1655 Balancing Act【
树形DP
】POJ 1655 Balancing Act Balancing Act POJ 1655
Description Consider a tree T with N (1 <= N <= 20,000) nodes numbered 1...N. Deleting any node from the tree yields a forest: a collection of one or more trees. Define the balance of a node to
·
2015-11-12 15:47
poj
POJ 1463 Strategic game【
树形DP
】
Description Bob enjoys playing computer games, especially strategic games, but sometimes he cannot find the solution fast enough and then he is very sad. Now he has the following problem. He must def
·
2015-11-12 15:46
game
HDU 1520 Anniversary party【
树形DP
】
Problem Description There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The University has a hierarchical structure of employees. It means that the supervis
·
2015-11-12 15:45
part
算法训练想法
p-468115455065.html 排序训练:冒泡、选择、快速排序 大数问题:大数加法、减法、乘法、除法 hdu:大菲波数 动态规划:背包问题、状态压缩(hdu 1074)、
树形
·
2015-11-12 15:06
算法
hdu 1520Anniversary party(简单
树形dp
)
Anniversary party Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4310 Accepted Submission(s): 1976
·
2015-11-12 15:25
part
2014 Super Training #9 E Destroy --树的直径+
树形DP
原题: ZOJ 3684 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3684 题意: 给你一棵树,树的根是树的中心(到其他点的最远距离最小)。现在你要破坏所有叶子节点到根节点的连通,每条边破坏都需要一定能量。你有一个能量为power的武器,能破坏能量小于等于power的任何路。求最少需要的power。 解
·
2015-11-12 14:42
super
河流 tyvj1506
(控制点的费用为0); n<=100 m<=50 解题过程: 1.一看就是
树形dp
,根据数据范围,可以大胆猜测状态至少是二维,
·
2015-11-12 14:25
流
zoj-3626 Treasure Hunt I (
树形dp
)
本文出自 http://blog.csdn.net/shuangde800 题目链接: zoj-3626 题意 给一棵n个节点的树, 节点编号1~n, 每个节点有权值val[i],经过这个节点就可以获取这个价值(不能重复获得) 每一条边有一
·
2015-11-12 14:33
ZOJ
hdu4003Find Metal Mineral(
树形DP
)
4003 思维啊 dp[i][j]表示当前I节点停留了j个机器人 那么它与父亲的关系就有了 那条边就走了j遍 dp[i][j] = min(dp[i][j],dp[child][g]+dp[i][j-g]+g*w[i][child] ); 1 #include <iostream> 2 #include<cstdio> 3 #includ
·
2015-11-12 14:08
find
poj 2342 Anniversary party 简单
树形dp
Anniversary party Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3862 Accepted: 2171 Description There is going to be a p
·
2015-11-12 14:21
part
hdu 2196 Computer
树形dp
模板题
Computer Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2850 Accepted Submission(s): 1450
·
2015-11-12 14:20
com
树形dp
--hdu 3534 Tree
Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 906 Accepted Submission(s): 268 Proble
·
2015-11-12 14:19
tree
hdu 4612 Warm up 双连通+
树形dp
思想
Warm up Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 3160 Accepted Submission(s): 718 P
·
2015-11-12 14:17
HDU
hdu 4607 Park Visit 求树的直径
pid=4607 题目大意:给你n个点,n-1条边,将图连成一棵生成树,问你从任意点为起点,走k(k<=n)个点,至少需要走多少距离(每条边的距离是1); 思路:
树形dp
求树的直径r;  
·
2015-11-12 14:15
HDU
HDU 3069 (
树形DP
)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3069 题目大意:用最少警力,监控一个树,逮住逃犯。即最大警力去一个子树捉人时,确保父点至少被一个警察看守着。 解题思路: 树结构出点、入点不明确,所以建一个无向树,从任一一个结点开始,肯定能跑完整个树。 对于一个结点,先树形dfs求出所有子树需要布置的最大警力maxSub 捉人策
·
2015-11-12 13:08
HDU
HDU 4003 (
树形DP
+背包)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4003 题目大意:有K个机器人,走完树上的全部路径,每条路径有个消费。对于一个点,机器人可以出去再回来,开销2倍。也可以不回来,一直停在某个点(如果你的机器人数量足够多的话)。问最小开销。 解题思路: 其实这题只能说是类树形背包。 用dp[i][j]表示在i点,有j个不回来的机器人走
·
2015-11-12 13:40
HDU
ZOJ 3626(
树形DP
+背包+边cost)
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3626 题目大意:树中取点。每过一条边有一定cost,且最后要回到起点。给定预算m,问最大价值。 解题思路: 首先要注意这题要回到起点,由于树的特殊结构(每个结点只有一个父亲)也就是说,要回到开头, 开销是2倍。所以首先m/=2。 然后就是树形
·
2015-11-12 13:38
ZOJ
XCOJ 1102 (
树形DP
+背包)
题目链接: http://xcacm.hfut.edu.cn/oj/problem.php?id=1102 题目大意:树上取点。父亲出现了,其儿子包括孙子...都不能出现。给定预算,问最大值。 解题思路: 把树形背包的模板改一改。 首先对于叶子结点,直接初始化就行了。这步不可以跳过,因为存在负权,仅仅依靠最后的max是不行的。 对于普通结点,首先不考虑当前根,先把全部预算分给儿
·
2015-11-12 13:35
dp
ZOJ 3805 (
树形DP
)
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5337 题目大意:方块连接,呈树形。每个方块有两种接法,一种接在父块边上,宽度+1,一种接在父块上面,宽度+0。且一个母块最多有2个子块。问全局的宽度最小是多少。 解题思路: 对于一个方块,就两种接法。 设dp[i][0]=0,表示接在父块上面。
·
2015-11-12 13:34
ZOJ
Ural 1018 (
树形DP
+背包+优化)
题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=17662 题目大意:树枝上间连接着一坨坨苹果(不要在意'坨'),给定留下m根树枝,问最后剩下的最多苹果是多少。 解题思路: 其实意思和Vijos 1180(选课)的意思差不多。只不过权在边而已。 首先建无向图dfs。 for(f+1...j...
·
2015-11-12 13:34
优化
POJ 2342 (
树形DP
)
题目链接: http://poj.org/problem?id=2342 题目大意:直属上司和下属出席聚会。下属的上司出现了,下属就不能参加,反之下属参加。注意上司只是指直属的上司。每个人出席的人都有一个快乐值,问最大的快乐值是多少。 解题思路: 首先确定一下顶头上司是谁。 f[v]=u表示u是v的父亲,这样addedge完了之后,从1开始while(f[root]) root=
·
2015-11-12 13:33
poj
POJ 1947 (
树形DP
+背包)
题目链接: http://poj.org/problem?id=1947 题目大意:树中各点都由一条边连接。问要弄出个含有m个点的(子)树,至少需要截去多少条边。 解题思路: 设dp[i][j]为i总根(注意是当前点为总根,不再考虑其父亲,这题是要在原来的树里面切出一个树),留下j个点截去的最少的边。 首先dp[i][1]=子结点数量,即只留下根,要把所有与子节点的边给截掉。
·
2015-11-12 13:31
poj
HDU 1561 (
树形DP
+背包)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1561 题目大意:从树根开始取点。最多取m个点,问最大价值。 解题思路: cost=1的树形背包。 有个虚根0,取这个虚根也要cost,所以最后的结果是dp[0][m+1]。 本题是cost=1的特殊背包问题,在两个for循环上有一个优化。 for(f+1...j....cost
·
2015-11-12 13:31
HDU
hdu 1054 Strategic Game
思路:
树形dp
,和刘汝佳白书70页放置街灯一样。dp[u][1]表示在u结点标记,dp[u][0]表示在u结点不标记。
·
2015-11-12 12:31
game
HDU 4126 Genghis Khan the Conqueror MST+
树形dp
题意: 给定n个点m条边的无向图。 以下m行给出边和边权 以下Q个询问。 Q行每行给出一条边(一定是m条边中的一条) 表示改动边权。 (数据保证改动后的边权比原先的边权大) 问:改动后的最小生成树的权值是多少。 每一个询问互相独立(即每次询问都是对于原图改动) 保证没有重边。 求:全部改动后的最小生成树权值的平均值。 思路: 首先跑一个最小生成树。 求得这个MST的
·
2015-11-12 11:26
ror
zju 1134
树形dp
本题的数学模型在题目中已明示,我们将其用数学语言重述一遍:在图G=(V,E)中找一顶点集S,使得对任意(u,v)∈E有u∈S或v∈S,且|S|最小。很明显,这是求图的最小顶点覆盖集。 图的最小顶点覆盖是NP问题,至今还没有有效算法。而本题N的规模可达1500,显然用搜索是无法完成的。但本题的图十分特殊是一棵树。为了进一步利用数据结构的特殊性,我们不妨先手工分析一个例子。左图为一个有13个
·
2015-11-12 10:00
dp
树形DP
求树的重心 --SGU 134
考虑用
树形DP
。 dp[u]表示割去u点,得到的连通分支的节点数的最大值。 tot[u]记录以u为根的这棵子树的节点数总和(包括根)。 则用一次dfs即可预处理出这两个数组。再
·
2015-11-12 10:35
dp
UESTC 887 方伯伯的儿童节 --
树形DP
定义: 1.dp[u][1]表示u这个点设立糖果发放点且u这棵子树满足条件时的最少糖果点数 2.dp[u][0]表示u这个点不设立发放点且u这棵子树满足条件时的最少糖果点数 设v1,v2……vn为u的子节点,则转移方程: dp[u][1]= sum(min(dp[vi][1],dp[vi][0]) )+1; dp[u][0]=sum(dp[vi][1]); 由于还要记录方案数,做一个n
·
2015-11-12 10:04
dp
佳佳的魔法药水 (vijos 1285)
解题过程: 1.一开始没考虑到会有环的情况(比如A+B=C,B+C=A),想成了
树形dp
,还以为是大水题,结果全部WA了。
·
2015-11-12 10:17
OS
树形dp
hdu-4616-Game
解题思路:
树形dp
啊。 树形d
·
2015-11-12 10:28
game
URAL1389. Roadworks(dp)
1389 算个简单的
树形DP
吧 不知道是不是数据太水 竟然一A了 就是对于当前节点有没有被选中就行选最优 有没有被选中的意思是有没有与它相连的边被选中 1 #include
·
2015-11-12 09:23
dp
Vijos 1100 加分二叉树(
树形DP
)
题目链接 感觉和区间DP很类似,觉得还挺简单的,难得1Y,以前的时候直接没思路。。。 1 #include <cstdio> 2 #include <cstring> 3 #include <queue> 4 #include <string> 5 using namespace std; 6 #define LL lon
·
2015-11-12 09:18
二叉树
HDU 4283 You Are the One(区间DP)
dp[x][y][z]的意义是在x-y这一段上,前面已经有z-1个人唱歌了,所取得的最小值,这个DFS的写的有点感觉像是
树形DP
,递推能力太搓了。
·
2015-11-12 09:27
HDU
Vijos 1180 选课(
树形DP
)
题目链接 参考题解做的,如果不是在树上,应该就是个普通的二维DP,前i门课选j门取得最大的分数,可是这个题每门课可能有先修课,所以建树,在树上进行递归。在和虎哥讨论了一下,如何建树,由于不是二叉树,所以每门课可能有多个孩子,本来想用邻接表的,但是好像很麻烦,递归起来不知怎么办,还有另一种方式就是左儿子右兄弟的方式,以前没用过,搜了下题解,这样建树状态转移就简单了,就和在URAL做的那个二叉树的树
·
2015-11-12 09:13
OS
Vijos 1313 金明的预算方案 (分组背包)
题目链接 和多校上的黄金矿工很类似,貌似这个还简单点,每个主件,最多有2个附件,讨论下就可以,当然也神似
树形DP
。
·
2015-11-12 09:12
OS
HDU 1561 The more, The Better(
树形DP
)
题目链接 和Vijos上的选课一模一样。。无奈效率700+,怎么这么慢啊。。。 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 struct node 5 { 6 int left,right; 7 }tree[301]; 8 int
·
2015-11-12 09:12
more
Anniversary Party(
树形DP
)
题目链接 从早上就开始写,开始一直徘徊在递归的死循环,递归部分竟然不知如何实现了,后来写了个很暴力方法。。。建树还是左孩子,右兄弟,这个题这样写反而不怎么方便(效率也低了?),在 所有儿子的和 和本身+孙子的和 取大,递归部分写的很麻烦,导致先是WA在第7组(看DISUSS知道了数据),某一个小地方敲错了,然后又挂在13组上了,又改了一个BUG,然后还是WA,原来是要注意负数情况。。。纠结不知道
·
2015-11-12 09:11
part
hdu3534,个人认为很经典的
树形dp
题目大意为,求一个树的直径(最长路),以及直径的数量 朴素的dp只能找出某点开始的最长路径,但这个最长路径却不一定是树的直径,本弱先开始就想简单了,一直wa 直到我看了某位大牛的题解。。。 按照那位大牛的思路,我们来考虑直径的构成: 情况1:由某叶子节点出发产生的最长路径直接构成 情况2:由某有多个儿子的节点出发产生的两条长路径组成,这其中,又可以分为两条长路径长度相等与否两种情况 所
·
2015-11-12 09:13
HDU
树形dp
入门练习(hdu1011+hdu1061)
hdu1011 和 hdu1561类似,给定每个节点的花费以及价值,并且子节点必须在父亲节点取到以后才可以被取到 相当于是在树上进行的01背包 dp时考虑每一个子树 root和它的每一个儿子,状态转移方程为 dp[root][j]=max(dp[root][j],dp[root][j-k]+dp[ son[p] ][ k ]) 以下为ac代码 hdu1011:这题有一个小坑,最后必须要剩
·
2015-11-12 09:13
HDU
上一页
40
41
42
43
44
45
46
47
下一页
按字母分类:
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
其他