做题记录 Luogu P2014

Luogu P2014 [CTSC1997]选课

没什么可说的。

模板题。

#include<bits/stdc++.h>
using namespace std;
#define N 1005
int first[N], Next[N], to[N], f[N][N], tot, n, m;
void add(int x, int y)
{
	Next[++tot] = first[x];
	first[x] = tot;
	to[tot] = y;
	return;
}
void dfs(int u)
{
	for(int i = first[u]; i; i = Next[i])
	{
		int v = to[i];
		dfs(v);
		for(int j = m + 1; j >= 1; j--)
		{
			for(int k = 0; k < j; k++)
			{
				f[u][j] = max(f[u][j], f[v][k] + f[u][j - k]);
			}
		}
	}
	return;
}
int main()
{
	ios::sync_with_stdio(false);
	cin >> n >> m;
	int u, v;
	for(int i = 1; i <= n; i++)
	{
		cin >> u >> v;
		add(u, i);
		f[i][1] = v;
	}
	dfs(0);
	cout << f[0][m + 1];
	return 0;
}
上一篇:添加槽函数出现no documents matching “ui_xxx.h“


下一篇:学习日志0313