poj 2342 Anniversary party
来源:互联网 发布:博思ug数控编程视频 编辑:程序博客网 时间:2024/05/17 05:12
#include<iostream>
#include<stdio.h>
using namespace std;
int n,m;
int dp[10005][2];
int boss[10005];
int vis[10005];
void dis(int node)
{
vis[node]=1;
for(int i=1;i<=n;i++)
{
if(!vis[i]&&boss[i]==node)
{
dis(i);
dp[node][1]+=dp[i][0];
dp[node][0] +=max(dp[i][1],dp[i][0]);
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>dp[i][1];
}
int root;
for(int i=1;i<n;i++)
{
int a,b;
boss[a]=b;
root=b;
}
while(boss[root])
root=boss[root];
dis(root);
cout<<max(dp[root][0],dp[root][1]);
return 0;
}
#include<stdio.h>
using namespace std;
int n,m;
int dp[10005][2];
int boss[10005];
int vis[10005];
void dis(int node)
{
vis[node]=1;
for(int i=1;i<=n;i++)
{
if(!vis[i]&&boss[i]==node)
{
dis(i);
dp[node][1]+=dp[i][0];
dp[node][0] +=max(dp[i][1],dp[i][0]);
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>dp[i][1];
}
int root;
for(int i=1;i<n;i++)
{
int a,b;
boss[a]=b;
root=b;
}
while(boss[root])
root=boss[root];
dis(root);
cout<<max(dp[root][0],dp[root][1]);
return 0;
}
阅读全文
0 0
- poj 2342 Anniversary party
- POJ 2342 Anniversary party
- poj 2342 Anniversary party
- POJ 2342 Anniversary party
- POJ 2342 Anniversary party
- POJ-2342-Anniversary party
- POJ 2342 Anniversary party
- poj-2342Anniversary party
- POJ 2342 Anniversary party
- poj 2342 anniversary party
- POJ 2342 Anniversary party
- Anniversary party POJ - 2342
- poj 2342 Anniversary party
- POJ 2342 Anniversary party
- POJ 2342 Anniversary party / HDU 1520 Anniversary party / URAL 1039 Anniversary party
- POJ 2342——Anniversary party
- poj 2342 Anniversary party 简单的DP
- poj 2342 Anniversary party 树形DP
- NOIP模拟 乘积【状压dp+多组背包】
- poj 1192
- Angular应用
- 51nod 1287 加农炮 (暴力可过,此题有毒)
- CPU
- poj 2342 Anniversary party
- Windows系统和Office的VL版本是什么意思有什么区别?
- liunx sed 修改文件
- 新增的html5属性
- Python模块学习--shutil和hashlib和json
- php基础知识(2)
- pymongo统计字段是否存在的记录
- Rebuilding Roads
- 求重心的板子