当前位置:网站首页>树形DP AcWing 285. 没有上司的舞会
树形DP AcWing 285. 没有上司的舞会
2022-07-03 08:41:00 【T_Y_F666】
代码虚拟空间
函数内部空间存储在栈中 C++默认栈空间大小为4M 故开在函数内部容易暴栈
全局变量静态变量存储在堆中
树形DP AcWing 285. 没有上司的舞会
原题链接
算法标签
动态规划 树形DP
思路
状态计算
代码
#include<bits/stdc++.h>
#define int long long
#define rep(i, a, b) for(int i=a;i<b;++i)
#define Rep(i, a, b) for(int i=a;i>b;--i)
using namespace std;
const int N = 6005;
int a[N], e[N], h[N], ne[N], idx;
int f[N][2];
bool p[N];
inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
void put(int x) {
if(x<0) putchar('-'),x=-x;
if(x>=10) put(x/10);
putchar(x%10^48);
}
void add(int a, int b){
e[idx]=b;
ne[idx]=h[a];
h[a]=idx++;
}
void dfs(int u){
f[u][1]=a[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]);
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n=read();
rep(i, 1, n+1){
a[i]=read();
}
memset(h, -1, sizeof h);
rep(i, 0, n-1){
int a=read(), b=read();
add(b, a);
p[a]=true;
}
int root=1;
// 查询根节点
while(p[root]){
root++;
}
dfs(root);
printf("%lld", max(f[root][0], f[root][1]));
return 0;
}
原创不易
转载请标明出处
如果对你有所帮助 别忘啦点赞支持哈
边栏推荐
- [rust notes] 02 ownership
- [concurrent programming] explicit lock and AQS
- MySQL 8
- [rust notes] 05 error handling
- Servlet的生命周期
- [rust notes] 12 closure
- [concurrent programming] thread foundation and sharing between threads
- Monotonic stack -84 The largest rectangle in the histogram
- UE4 source code reading_ Bone model and animation system_ Animation compression
- The method for win10 system to enter the control panel is as follows:
猜你喜欢
随机推荐
redis集群系列四
如何应对数仓资源不足导致的核心任务延迟
796 · unlock
Advanced OSG collision detection
【Rust 笔记】07-结构体
UE4 source code reading_ Mobile synchronization
PHP function date (), y-m-d h:i:s in English case
The method for win10 system to enter the control panel is as follows:
createjs easeljs
[concurrent programming] atomic operation CAS
[redis] redis persistent RDB vs AOF (source code)
[concurrent programming] collaboration between threads
Osgearth starry background
Explain sizeof, strlen, pointer, array and other combination questions in detail
Simple demo of solving BP neural network by gradient descent method
UE4 source code reading_ Bone model and animation system_ Animation compression
Visual Studio (VS) shortcut keys
Analysis of Alibaba canal principle
Talking about: is the HashSet set ordered or disordered /hashset set unique, why can we store elements with the same content
Baidu editor ueeditor changes style