poj2342(summerIv) 树状DP水题
来源:互联网 发布:mac恢复垃圾箱删除文件 编辑:程序博客网 时间:2024/06/06 21:39
参考:点击打开链接
需要特别注意的是这种题目一定要递归找到根节点再从根节点进行dfs,上面的链接中的代码就是因为没有进行这一步所以TLE
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=6000+50;int dp[maxn][2],root,father[maxn],vis[maxn];///二维数组不要两边都开这么大很容易MLEint employee,l,k;void dfs(int node){ vis[node]=1; for(int i=1;i<=employee;i++) { if(!vis[i]&&father[i]==node) { dfs(i); dp[node][0]=dp[node][0]+max(dp[i][1],dp[i][0]); dp[node][1]=dp[node][1]+dp[i][0]; } }}int main(){ while(scanf("%d",&employee)!=EOF) { memset(vis,0,sizeof(vis)); memset(dp,0,sizeof(dp)); memset(father,0,sizeof(father)); for(int i=1;i<=employee;i++) scanf("%d",&dp[i][1]); while(scanf("%d%d",&l,&k)) { if(l==0&&k==0) break; father[l]=k; } root=k; while(father[root]) root=father[root]; dfs(root); printf("%d\n",max(dp[root][0],dp[root][1])); } return 0;}
阅读全文
0 0
- poj2342(summerIv) 树状DP水题
- POJ2342 Anniversary party(树状DP)
- poj2342 简单树形DP
- poj2342 树形dp
- poj2342—树形dp
- POJ2342 简单树形dp
- poj2342树形dp
- 树形dp poj2342
- poj2342&&hdu1520(树形dp)
- poj2342 树形dp入门
- POJ2342(树形dp)
- poj2342(树形dp)
- 2016 北邮暑期训练3-F题( POJ2342 Anniversary party)树状DP
- POJ2342:Anniversary party(树形DP)
- poj3342 poj2342 树形dp入门
- poj2342 Anniversary party【树形dp】
- POJ2342 Anniversary party(树形DP)
- poj2342.Anniversary party(树形dp)
- shell 运行
- Hexo搭建独立博客并托管到Github和Coding上
- 【拓扑排序】基础
- RYU的REST API 获取拓扑发现结果
- 啥是广点通
- poj2342(summerIv) 树状DP水题
- 一起来点React Native——常用组件之Text
- Python解析lmdb格式mnist数据集
- Poj 1847 Tram ( 最短路变形
- 判断电机运转速度:转速要求高时,应选相电流较大、电感较小的电机,以增加功率输入。且在选择驱动器时采用较高供电电压。
- 近5年典型的的APT攻击事件
- spark demo之wordcount和K-means
- 一起来点React Native——常用组件之Image
- 【dp】递推 zoj3747