社区讨论
P1352没有上司的舞会
P1352没有上司的舞会参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lo2wukjc
- 此快照首次捕获于
- 2023/10/23 21:05 2 年前
- 此快照最后确认于
- 2023/10/23 21:05 2 年前
同样的代码,不开氧气AC,开氧气全部MLE,这是什么情况呢?
CPP#include<iostream>
#include<cstring>
using namespace std;
const int N=6010;
int f[N][2],happy[N],e[N],h[N],ne[N],idx;
bool fa[N];
void add(int a,int b)
{
e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
int dfs(int u)
{
f[u][1]=happy[u];
for(int i=h[u];i!=-1;i=ne[i])
{
int j=e[i];
dfs(j);
f[u][1]+=f[j][0];
f[u][0]+=max(f[j][0],f[j][1]);
}
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++) scanf("%d",&happy[i]);
memset(h,-1,sizeof(h));
for(int i=0;i<n-1;i++)
{
int a,b;
scanf("%d%d",&a,&b);
fa[a]=true;
add(b,a);
}
int root=1;
while(fa[root]) root++;
dfs(root);
cout<<max(f[root][1],f[root][0])<<endl;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...