社区讨论
int函数没有返回值不会RE吗
P2014[CTSC1997] 选课参与者 5已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @lo2qufg1
- 此快照首次捕获于
- 2023/10/23 18:17 2 年前
- 此快照最后确认于
- 2023/10/23 18:17 2 年前
https://www.luogu.com.cn/record/108264335
代码
CPP#include<bits/stdc++.h>
using namespace std;
const int N=301;
int e[N],ne[N],h[N],idx;
void add(int a,int b){
e[idx]=b;
ne[idx]=h[a];
h[a]=idx++;
}
int n,m;
int f[N][N],w[N];
int dfs(int u){
for(int i=h[u];i!=-1;i=ne[i]){
int s=e[i];
dfs(s);
for(int j=m-1;j;j--){
for(int k=0;k<=j;k++){
f[u][j]=max(f[u][j],f[s][k]+f[u][j-k]);
}
}
}
for(int i=m;i>=1;i--){
f[u][i]=f[u][i-1]+w[u];
}
}
int main()
{
memset(h,-1,sizeof h);
cin>>n>>m;
for(int i=1;i<=n;i++){
int p;
cin>>p>>w[i];
add(p,i);
}
m++;
dfs(0);
cout<<f[0][m];
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...