做题记录 Luogu P1352

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了做题记录 Luogu P1352相关的知识,希望对你有一定的参考价值。

Luogu P1352 没有上司的舞会

树形 dp 模板题。

真的好像所有 dp 都可以写记忆化搜索(yyds!

#include<bits/stdc++.h>
using namespace std;
#define N 100005
int f[N][2], first[N], Next[N], to[N], h[N], vis[N], tot, n;
void add(int x, int y)
{
	Next[++tot] = first[x];
	first[x] = tot;
	to[tot] = y;
	return;
}
void dp(int u)
{
	if(vis[u])
	{
		return;
	}
	vis[u] = 1;
	for(int i = first[u]; i; i = Next[i])
	{
		int v = to[i];
		if(vis[v])
		{
			continue;
		}
		dp(v);
		f[u][0] += max(f[v][0], f[v][1]);
		f[u][1] += f[v][0];
	}
	return;
}
int main()
{
	ios::sync_with_stdio(false);
	cin >> n;
	for(int i = 1; i <= n; i++)
	{
		cin >> f[i][1];
	}
	int u, v;
	for(int i = 1; i <= n - 1; i++)
	{
		cin >> u >> v;
		add(v, u);
		h[u] = 1;
	}
	for(int i = 1; i <= n; i++)
	{
		if(!h[i])
		{
			dp(i);
			cout << max(f[i][0], f[i][1]) << endl;
		}
	}
	return 0;
}

以上是关于做题记录 Luogu P1352的主要内容,如果未能解决你的问题,请参考以下文章

luogu P1352 没有上司的舞会 x

做题记录 Luogu UVA437

做题记录 Luogu P4513

Luogu P1352 没有上司的舞会

Luogu P1352 没有上司的舞会

Luogu P1352 没有上司的舞会 题解