hdu 4799 LIKE vs CANDLE
来源:互联网 发布:数据链路层的数据单位 编辑:程序博客网 时间:2024/06/05 17:14
题解:这道题是比较明显的树状dp,状态方程也挺好想的,主要是要处理反转和不反转的关系,可以在全局定义一个标志位,来记录这棵子树下面的反转情况,然后定义子树的遍历情况。dp[i][j]是说i这个节点是否转变,转的话j为0,不转为1.
#include <iostream>#include <cstring>#include <cstdio>#include <cmath>#include <algorithm>#include <map>const int maxn = 50000 + 100;using namespace std;struct node{ int v, next;}p[maxn * 2];int vis[maxn];int head[maxn];int s[maxn];int v[maxn];int e;int flag;int dp[maxn][3];int n, a, b;int x, y;void init(){ memset(head , -1, sizeof(head)); memset(vis, 0, sizeof(vis)); memset(dp, 0, sizeof(dp)); e = 0; flag = 0; }void dfs(int x){ vis[x] = 1; if(s[x]) flag = flag ^ 1; if(flag) v[x] = -v[x]; dp[x][0] = v[x]; dp[x][1] = -v[x]; int sum; for(int i = head[x]; i != -1; i = p[i].next) { int t = p[i].v; if(vis[t]) continue; dfs(t); if(s[t]) sum = b; else sum = a; dp[x][1] += max(dp[t][1], dp[t][0] - sum); dp[x][0] += max(dp[t][0], dp[t][1] - sum); } if(s[x]) flag = flag ^ 1; }int main(){ while(~scanf("%d%d%d", &n, &a, &b)) { init(); for(int i = 1; i <= n; i ++) { scanf("%d %d %d %d", &v[i], &x, &s[i], &y); if(y == 1) v[i] = -v[i]; p[e].v = i; p[e].next = head[x]; head[x] = e ++; } dfs(0); if(dp[0][0] < 0) { printf("HAHAHAOMG\n"); } else printf("%d\n", dp[0][0]); }}
阅读全文
0 0
- hdu 4799 LIKE vs CANDLE
- HDU 4799 LIKE vs CANDLE 树形dp
- hdu 4799 LIKE vs CANDLE. 树形dp
- 树形DP(2)-Hdu 4799 LIKE vs CANDLE
- hdu 4799 LIKE vs CANDLE(树形dp)
- HDU 4799 LIKE vs CANDLE 【树形dp】【阅读题】【水题】
- HDU 4799 LIKE vs CANDLE ACM/ICPC 2013 Changsha(树形dp)
- ZOJ 3734: LIKE vs CANDLE
- zoj 3734 LIKE vs CANDLE
- zoj-3734-LIKE vs CANDLE
- ZOJ 3734 LIKE vs CANDLE
- [HDOJ 4799][BNUOJ 34021] LIKE vs CANDLE [树形DP]
- zoj-3734 LIKE vs CANDLE 【树形dp】
- 2013 长沙Regional I题:LIKE vs CANDLE (树dp)
- ZOJ 3734 LIKE vs CANDLE _树形DP
- UVALive 6619 LIKE vs CANDLE(树形DP)
- ZOJ3734LIKE vs CANDLE
- like vs instr效率
- android.os.NetworkOnMainThreadException,Android根据图片URL加载图片
- 日期 bootsrtap-datatimepicker and bootstrap-datepicker 支持中文
- Android apk 反汇编
- 编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程
- mysql配置文件中sql_mode
- hdu 4799 LIKE vs CANDLE
- 欢迎使用CSDN-markdown编辑器
- tensorflow_mnist数据集卷积神经网络实例
- 利用jQuery 实现一个简单的侧边菜单隐藏显示功能
- Json以及Jsonlib的使用
- 00103 python字符串操作总结【更新中】
- SSM框架搭建及源码解析--bean的初始化及依赖注入(四)
- Exynos4412 Uboot 移植(五)—— Uboot 移植过程
- Spring AOP实现原理