博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
树状DP (poj 2342)
阅读量:4430 次
发布时间:2019-06-07

本文共 1582 字,大约阅读时间需要 5 分钟。

题目:

题意:给出N各节点的快乐指数,以及父子关系,求最大快乐指数和(没人职员愿意跟直接上司一起玩);

思路:从底向上的树状DP;

   第一种情况:第i个员工不参与,F[i][0] += max(F[k][1], F[k][0]);(k为i的儿子)

   第二种情况:第i个员工参与,F[i][1] += F[k][0];

   F[i][j]表示第i个员工是否参与;

   边界:F[i][0] = 0;F[i][1] = 其快乐指数;

 

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define c_false ios_base::sync_with_stdio(false); cin.tie(0)#define INF 0x3f3f3f3f#define INFL 0x3f3f3f3f3f3f3f3f#define zero_(x,y) memset(x , y , sizeof(x))#define zero(x) memset(x , 0 , sizeof(x))#define MAX(x) memset(x , 0x3f ,sizeof(x))#define swa(x,y) {LL s;s=x;x=y;y=s;}using namespace std ;#define N 6005const double PI = acos(-1.0);typedef long long LL ;int n,root,ri[N],F[N][2],son[N],bro[N];bool is_son[N];void init(){ int i,j,k; scanf("%d",&n); for(i = 1; i <=n; i++) scanf("%d",ri+i); zero(son); zero(is_son); for(i = 1; i < n; i++) { scanf("%d%d",&j,&k); bro[j] = son[k];son[k] = j; is_son[j] = true; } for(i = 1; i <=n ;i++)if(!is_son[i]) root = i;}inline int max(int x,int y){ return (x>y)?(x):(y);}void DP(int u){ int v; F[u][0] = 0;F[u][1]= ri[u]; for(v= son[u]; v; v= bro[v]){ DP(v); F[u][0] += max(F[v][0], F[v][1]); F[u][1] +=F[v][0]; }}void solve(){ DP(root); printf("%d\n",max(F[root][1],F[root][0]));}int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); //ios_base::sync_with_stdio(false); cin.tie(0); init(); solve(); return 0;}

 

转载于:https://www.cnblogs.com/yoyo-sincerely/p/5353665.html

你可能感兴趣的文章
[QT编程]QT实现的一个渐隐渐显窗体
查看>>
在Web工程中引入Jquery插件报错解决方案
查看>>
POJ2442 优先队列
查看>>
大学总结之影响我最深的十本书
查看>>
SQL语句大集合
查看>>
用myEclipse连接数据源生成动态数据报表
查看>>
[myeclipse]@override报错问题
查看>>
자주 쓰이는 정규표현식
查看>>
UIViewAnimationOptions选项
查看>>
软件工程(2019)第一次结队作业程序
查看>>
python3与Redis连接操作
查看>>
你不知道的JavaScript--Item17 循环与prototype最后的几点小tips
查看>>
Linux忘记root密码的解决办法
查看>>
SSH面试题7
查看>>
Python 语法提示vim配置
查看>>
中国超级计算(收集)
查看>>
On the internet, nobody known you are a dog !
查看>>
简单实用的纯css按钮效果
查看>>
MariaDB学习笔记(二)
查看>>
MVVM:模型-视图-视图模型(Model-View-ViewModel)
查看>>