码迷,mamicode.com
首页 >  
搜索关键字:树形dp    ( 1929个结果
佳佳的魔法药水 (vijos 1285)
题目大意:给出N种药水的价格,然后给出一些形如A B C的关系,表示 A药水+B药水可以组合出 C药水(保证 A+B不会得到多种药水)。要求得到1号药水的最少花费和相应的方案数。N<=1000。解题过程:1.一开始没考虑到会有环的情况(比如A+B=C,B+C=A),想成了树形dp,还以为是大水题,结...
分类:其他好文   时间:2014-10-12 10:26:57    阅读次数:153
树形DP入门
The more, The Better Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5414    Accepted Submission(s): 3217 Problem Description ACboy...
分类:其他好文   时间:2014-10-11 15:31:05    阅读次数:116
BZOJ 3037 创世纪 树形DP
题目大意:给定一张有向图,每个点有且仅有一条出边,要求若一个点x扔下去,至少存在一个保留的点y,y的出边指向x,求最多扔下去多少个点 首先原题的意思就是支配关系 我们反向考虑 求最少保留的点 要求一个点若扔出去 则必须存在一个保留的点指向它 于是这就是最小支配集 不过由于是有向图 所以一个点要么选择 要么被子节点支配 所以就只剩下2个状态了 设f[x]为以x为根的子树选择x的最小支配集 g[...
分类:其他好文   时间:2014-10-10 20:35:24    阅读次数:223
POJ 1655 Balancing Act 树的重心
题目大意:给出一棵树,去掉一个点后,这棵树会变成一些联通的块。求去掉哪个点之后所形成的块的最大数目最小。 思路:树形DP的思路。通过一次深搜求出每个节点为根的子树的大小,然后去掉这个节点之后,这棵树就会变成这个节点的各个子树,还有剩下的部分,求一下这些块中数目的最大值,就是去掉这个点时的ans,然后更新总的ans。 这个题其实就是树的重心。 CODE: #inclu...
分类:其他好文   时间:2014-10-10 16:05:04    阅读次数:122
BZOJ 1040 ZJOI 2008 骑士 基环树林+树形DP
题目大意:有一些骑士,他们每个人都有一个权值。但是由于一些问题,每一个骑士都特别讨厌另一个骑士。所以不能把他们安排在一起。求这些骑士所组成的编队的最大权值和是多少。 思路:首先貌似是有向图的样子,但是一个人讨厌另一个人,他们两个就不能在一起,所以边可以看成是无向的。 n个点,n条无向边,好像是一颗基环树。但其实这是一个基环树林,因为题中并没有说保证图一定联通。 然后就可以深搜了,处理...
分类:其他好文   时间:2014-10-08 17:19:05    阅读次数:265
BZOJ1093 [ZJOI2007]最大半连通子图
首先,我们要tarjan。。。 然后我们要缩点。。。注意,缩点的时候两个新建的点会有重边,需要判重正常的判重方法是bfs一边,但是我YY的比较奇葩,方法下面将。。。缩好点就变成了一个DAG,然后就类似树形DP的方法求最大权值链我是用记忆化搜索,当dfs某个点p时用数组vis记录一些东西:首先vis[...
分类:其他好文   时间:2014-10-06 23:54:12    阅读次数:333
POJ 1655 Balancing Act 树的重心
题意:给你一颗树,让你求树的重心,树的重新的定义是如果去除掉这个节点,这个节点的子树节点个数的最大值 最小。解题思路:动态规划,树形dp在这里发现 vector 还是比 数组指针性能上差一些。解题代码: 1 // File Name: poj1741.cpp 2 // Author: darkdre...
分类:其他好文   时间:2014-10-05 11:46:58    阅读次数:223
代码风格与树形DP
Streaming很惨,不过因为比赛之间没有提交过就没掉(或掉了)rating.第二题是一个树形DP,但是我都在想第一题了,简直作死.看着神犇的代码我也是醉了...各种宏,真是好好写会死系列. 看到他们Tree DP都用的DFS,突然感觉我这个蒟蒻的生活中充满了无力...我一般都喜欢用BFS进行Tr...
分类:其他好文   时间:2014-10-05 01:49:27    阅读次数:198
【树形DP】 HDU 2196 Computer
题意:求节点间的最大距离 先DFS一次 记录下 每一节点的子树下的最大距离(DP[ u ] [ 0 ])和第二大距离(DP[ u ] [ 1 ]) 用DP[ v ] [ 2 ] 表示由v的父节点来的最大距离 再取DP[ u ] [ 0 ] 与 DP[ u ][ 2 ] 的最值 #include #include #include #include #include #in...
分类:其他好文   时间:2014-10-04 12:51:06    阅读次数:201
【树形DP】 HDU 2412 Party at Hali-Bula
给出根节点(BOSS) 然后还有N-1个边  A B 由B指向A (B为A 的上司) 每次只能选择这个关系中的其中一个 求最多选几个点  并且输出是不是唯一的 重点判断是否唯一: 1.若下属不去和去都人数一样的话则上司不去的话就不唯一(上司去了下属必定不能去,所以不满足) 2.若下属不去还不唯一的话  上司去了也是不唯一 #include #include #include ...
分类:其他好文   时间:2014-10-03 23:22:05    阅读次数:298
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!