动态规划 - 树形
NotFound1
这个作者很懒,什么都没留下…
展开
-
|洛谷|动态规划|P2014 选课
http://www.luogu.org/problem/show?pid=2014(注意题目数据范围有误,建议开数组到2000)经典树形依赖背包问题。因为可能出现森林,所有要建立一个虚结点0,将森林中所有树的根节点作为结点0的儿子f[i][j]表示以i为根选j个课程f[u][j] = max(f[u][j], f[u][j-k]+f[v][k]); //v是u的儿子#in原创 2016-09-16 13:13:22 · 957 阅读 · 1 评论 -
|Hdu 1561|动态规划|The more, The Better
http://acm.hdu.edu.cn/showproblem.php?pid=1561此题与选课一题一样,讲解看http://blog.csdn.net/Darost/article/details/52555114#include#include#include#include#define ms(i,j) memset(i, j, sizeof(i));usin原创 2016-09-16 15:43:09 · 373 阅读 · 0 评论 -
|POJ 2342|动态规划|Anniversary party
http://poj.org/problem?id=2486树形DP基础题,具体看注释。设状态f[i][0]为i不来,f[i][1]为i要来f[r][1] += f[i][0]; //r要来,i为r的下属f[r][0] += max(f[i][0], f[i][1]); //r不来,i为r的下属#include#include#include#include原创 2016-09-14 23:27:39 · 398 阅读 · 0 评论 -
|BZOJ 2427|树形DP|强连通分量|[HAOI2010]软件安装
BZOJ传送门 根据题目可以构造一幅图,可以得知这个图是一些森林和环,我们对图缩点,建立虚结点,使所有没有入度的强连通分量连接虚结点,再进行树上背包即可。#include<cstdio> #include<algorithm> #include<cstring> #include<vector>#include<stack> #define ms(i,j) memset原创 2017-02-07 18:09:21 · 523 阅读 · 0 评论 -
|BZOJ 2060|动态规划|Visiting Cows 拜访奶牛
http://www.lydsy.com/JudgeOnline/problem.php?id=2060luogu免权限地址:https://www.luogu.org/problem/show?pid=2996设状态f[i][0]为i点不访问,f[i][1]为i点访问f[u][1] += f[v][0]; //u点要访问,(u,v)有连边f[u][0] +=原创 2017-01-24 15:18:00 · 637 阅读 · 0 评论 -
|洛谷|树形DP|P1270 “访问”美术馆
Luogu传送门 树形DP,设f[i][j]f[i][j]为以ii为根花费jj时间的最优值。 转移方程见程序 注意:要在规定时间回到起点,警察到来之前就必须!注意是之前!#include<cstdio> #include<algorithm> #include<cstring> #include<vector>#define ms(i,j) memset(i,j, sizeof原创 2017-02-22 21:48:01 · 744 阅读 · 1 评论