社区讨论

60pts WA求助

P2014[CTSC1997] 选课参与者 4已保存回复 8

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
8 条
当前快照
1 份
快照标识符
@lo13qjhx
此快照首次捕获于
2023/10/22 14:42
2 年前
此快照最后确认于
2023/11/02 14:13
2 年前
查看原帖
求助,WA on #4#5
CPP
#include<bits/stdc++.h>
#define int long long
#define N 205
#define inf 0x7fffffff
using namespace std;
inline int read()
{
	int n=0,f=1;
	char c=getchar();
	while(c<'0' || c>'9')
	{
		if(c=='-') f=-1;
		c=getchar();
	}
	while(c>='0' && c<='9') n=(n<<3)+(n<<1)+(c^48),c=getchar();
	return n*f;
}
inline void write(int x)
{
	if(x<0) putchar('-'),x=-x;
	if(x>9) write(x/10);
	putchar(x%10^48);
	return;
}
int n,m,a[N],f[N][N];
vector<int>g[N];
inline void dfs(int u)
{
	f[u][1]=a[u];
	for(auto v:g[u])
	{
		dfs(v);
		for(int w=m;w>0;w--)
		{
			for(int sw=0;sw<w;sw++)
			{
				f[u][w]=max(f[u][w],f[v][sw]+f[u][w-sw]);
			}
		}
	}
	return;
}
signed main()
{
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    n=read(),m=read(),m++;
	int i,j;
	for(i=1;i<=n;i++,j++)
	{
		int v=read();
		a[i]=read();
		g[v].push_back(i);
	}
	dfs(0);
	write(f[0][m]);
	return 0;
}

回复

8 条回复,欢迎继续交流。

正在加载回复...