zoj-3734-LIKE vs CANDLE
2014-02-08 16:31
281 查看
#include<cstdio> #include<iostream> #include<string.h> #include<algorithm> #include<stdlib.h> #include<math.h> #include<vector> using namespace std; int dp[50005][2]; vector<int> p[50005]; int f[50005]; int zhi[50005]; int x,y,n; int fu,flag; void dfs(int v) { dp[v][0]=zhi[v]; dp[v][1]=-zhi[v]; int i; for(i=0;i<p[v].size();i++) { int u=p[v][i]; dfs(u); dp[v][0]+=dp[u][0]; dp[v][1]+=dp[u][1]; } if(v!=0){ if(f[v]) swap(dp[v][0],dp[v][1]); dp[v][0]=max(dp[v][0],dp[v][1]-(f[v]?y:x)); dp[v][1]=max(dp[v][1],dp[v][0]-(f[v]?y:x)); } } int main() { int i,j,k; while(cin>>n>>x>>y) { memset(dp,0,sizeof(dp)); zhi[0]=0; for(i=0;i<=n;i++) if(!p[i].empty()) p[i].clear(); for(i=1;i<=n;i++) { cin>>zhi[i]>>fu>>f[i]>>flag; if(flag==1) zhi[i]=-zhi[i]; p[fu].push_back(i); } dfs(0); if(dp[0][0]<0) printf("HAHAHAOMG\n"); else printf("%d\n",dp[0][0]); } }
相关文章推荐
- zoj 3734 LIKE vs CANDLE
- ZOJ 3734 LIKE vs CANDLE _树形DP
- zoj-3734 LIKE vs CANDLE 【树形dp】
- ZOJ 3734: LIKE vs CANDLE
- HDU4799 LIKE vs CANDLE(树形dp)
- HDU 4799 LIKE vs CANDLE ACM/ICPC 2013 Changsha(树形dp)
- [HDOJ 4799][BNUOJ 34021] LIKE vs CANDLE [树形DP]
- 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
- ZOJ3734 LIKE vs CANDLE
- HDU 4799 LIKE vs CANDLE 【树形dp】【阅读题】【水题】
- 2013 长沙Regional I题:LIKE vs CANDLE (树dp)
- Mysql函数INSTR、LOCATE、POSITION VS LIKE
- zoj3734
- zoj 2682 People like People
- like vs substr?
- MySQL模式匹配(LIKE VS REGEXP)