HDU - 1520 Anniversary party 树形dp

STM32 FATFS文件系统按行读取SD卡数据 STM32 SD数据实现按行读取 阅读详情

Anniversary party

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 10129    Accepted Submission(s): 4289


Problem Description
There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The University has a hierarchical structure of employees. It means that the supervisor relation forms a tree rooted at the rector V. E. Tretyakov. In order to make the party funny for every one, the rector does not want both an employee and his or her immediate supervisor to be present. The personnel office has evaluated conviviality of each employee, so everyone has some number (rating) attached to him or her. Your task is to make a list of guests with the maximal possible sum of guests' conviviality ratings.
 

Input
Employees are numbered from 1 to N. A first line of input contains a number N. 1 <= N <= 6 000. Each of the subsequent N lines contains the conviviality rating of the corresponding employee. Conviviality rating is an integer number in a range from -128 to 127. After that go T lines that describe a supervisor relation tree. Each line of the tree specification has the form: 
L K 
It means that the K-th employee is an immediate supervisor of the L-th employee. Input is ended with the line 
0 0
 

Output
Output should contain the maximal sum of guests' ratings.
 

Sample Input
  
7 1 1 1 1 1 1 1 1 3 2 3 6 4 7 4 4 5 3 5 0 0
 

Sample Output
  
5
 

Source
 

Recommend
linle

第一道树形dp

dp【i】【0】是第i个人不来时的“”rating”最大值

dp【i】【1】是第i个人来时的“rating”最大值

所以dp【i】【0】=∑max(dp【j】【0】,dp【j】【1】)   ,其中j是i的直系下属,第一次写的时候忘了注意要取这两个里的最大值,因为i不来时,j可以来也可以不来

dp【i】【1】=∑dp【j】【0】  (j是i的直系下属)

用vector存每个人的直系下属

类似后序遍历这颗树即可

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<string>
#include<algorithm>
#include<queue>
#include<vector>
#include<map>
#include<set>
typedef long long ll;
using namespace std;
int n;
vector <int> w[10000];
int l,k,dp[10000][2],book[10000],fa[10000];
int tree_dp(int x)
{
	int t;
	book[x]=1;
	for(int i=0;i<w[x].size();i++)
	{
		t=w[x].at(i);
		if(fa[t]==x&&!book[t])
		{
		//	printf("%d\n",t);
			tree_dp(t);
			dp[x][0]+=max(dp[t][1],dp[t][0]);
			dp[x][1]+=dp[t][0];
		}
	}
}
int main()
{
	int i;
	while(~scanf("%d",&n))
	{
		memset(book,0,sizeof(book));
		for(i=1;i<=n;i++)
		{
			scanf("%d",&dp[i][1]);
			dp[i][0]=0;
			fa[i]=i;	//为了找根节点,开了一个数组存他的直系父节点,应该也有别的简单的求根节点的方法
			w[i].clear();
		}
		while(scanf("%d %d",&l,&k),l,k)
		{
			w[k].push_back(l);
			fa[l]=k;
		}
		for(i=1;i<=n;i++)
		{
			if(fa[i]==i)
			{
				tree_dp(i);	
				printf("%d\n",max(dp[i][0],dp[i][1]));
			//	break;	
			}
		} 
	}

 }


ADS重新安装失败排查指南:从注册表清理到环境变量配置 本文详细解析了ADS重新安装失败的常见原因及解决方案,包括注册表残留清理、license路径锁定处理和环境变量配置。通过分步指南和实用技巧,帮助工程师高效解决安装问题,确保软件正常运行。 阅读详情

相关推荐

游戏开发中的AI与RAG技术应用实践

检索增强生成(RAG)技术是当前AI领域的重要突破,它通过结合信息检索与文本生成能力,显著提升了大型语言模型在专业领域的实用性。其核心原理是建立动态知识库,在生成响应前先检索相关专业资料作为上下文。这种技术特别适合解决游戏开发中的复杂问题,如虚幻引擎API查询、角色背景生成等技术场景。在实际工程应用中,RAG系统需要精心设计分层检索策略、缓存机制和硬件加速方案。通过将RAG深度集成到游戏引擎工作流中,开发者可以快速解决技术难题,新成员也能更快掌握引擎特性,大幅提升团队协作效率。

weixin_29323977的博客 534

HDU1520:Anniversary party(树形DP)

HDU1520:Anniversary party(树形DP)

ccshijtgc的专栏 229

双硬盘下Ubuntu 16.04与Win10双系统的安装

之前写过一个双系统安装过程,今天再次整理的原因是想重点强调双硬盘的区别。标红的一定要注意看,那就是我自己一步一步踏出来的坑啊...   基础步骤就不再重复,重点讲区别,需要看详细步骤的童鞋(或者你只有一个硬盘)请看我上一篇博客https://blog.youkuaiyun.com/weixin_40308540/article/details/80157444   区别:双硬盘和单硬盘的区别是什么呢?...

不吃包子 1123

【树形DP】 HDU 1520 Anniversary party

题目链接:  HDU   1520   Anniversary party 分析:  虽然看一去是有向边, 但完全可以用无向边去做! #include #include #include using namespace std; const int maxn=6010; struct node{ int v; node *next; }tree[maxn<<1],*

PWZER 708

[ROS] rviz 可视化工具

[ROS] rviz 可视化工具 摄像头没讲 文章目录[ROS] rviz 可视化工具1. todo2. todo*. 参考*. 问题解决*. rough 1. todo 2. todo *. 参考 *. 问题解决 *. rough roscore + rviz

weixin_37834269的博客 2050

【大模型微调】魔搭社区GPU进行LLaMA-Factory微调大模型自我认知

本教程介绍如何使用魔搭社区GPU资源和LLaMA-Factory工具进行大模型微调。主要内容包括环境配置、工具安装、模型训练和效果评估。通过LoRA算法进行自我认知微调,详细说明了从数据准备到模型导出的完整流程,并提供了参数调优和显存管理等实用技巧,帮助读者快速掌握大模型定制化训练方法。

LChuck的博客 2924

HDU1520 Anniversary party[树形DP]

A - Anniversary party  HDU - 1520   题意: 给一个n,代表有n个人,接下里n行给出一个第i个人的欢乐值,再接下来n-1行给出两两之间的关系(有直接联系,就是表示一个是上司一个是下属)。要求不能跟其有直接联系的人参加这个聚会(上司跟下属不能同时参加这个聚会),问这个聚会最大的欢乐值是多少。 题解:

ControlBear的博客 628

vmware虚拟机网络连接问题

主机:ubuntu14.04 Vitual Network Editor

入门虽易,精通不易,且学且珍惜! 1354

HDU 1520 Anniversary party(树形dp)

HDU 1520 Anniversary party(树形dp) 树形dp第一题!!! 题意很清晰,思路也很明确。很容易找到根节点,即最大的boss,通过根节点向下dp。 状态转移方程: int to = vec[x][i]; dfs(to); dp[x][1] += dp[to][0]; dp[x][0] += max(dp[to][1],...

weixin_30536513的博客 90

嵌入式开发环境Vscode开发STM32单片机程序

STM32单片机非常强大,大多数教程都是使用 keil 编译器,keil 是收费的而 gcc 是开源免费的。这里介绍一些使用 gcc +开发单片机程序的经验。(这里不解释 gcc 是什么)。

嵌入式技术开发 1843

【现代人形机器人:从物理建模到大模型驱动的控制与学习】第1章 机器人建模回顾

本章建立读者进行后续控制 / 优化 / 学习工作的数学与计算基础。内容分为三大块:刚体运动学:位姿表示、坐标变换、旋转参数与李代数/李群(指数映射、twist)多关节机构的正/逆运动学:DH 与 POE 两种建模、雅可比矩阵推导、数值/解析逆解方法与奇异性问题约束动力学:拉格朗日公式、牛顿—欧拉递归算法、接触/冲击模型、受约束系统的方程(拉格朗日乘子与互补性条件)每一节同时给出与练习题。假设读者已具备线性代数(矩阵、特征分解、SVD)、多变量微积分与基础力学(牛顿第二定律)知识。

u012133341的博客 185

HDU1520 Anniversary party 树形dp

题目链接 Anniversary party Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 23856Accepted Submission(s): 8418 Problem Description There is...

Luowaterbi的博客 218

ChatGPT搭配Claude 4写文献综述效果出奇的好!四步法直接写出逻辑清晰、层次分明的文献综述(附复制即用专业提示词)

请梳理【研究领域】中核心理论的发展演进过程,包括每一阶段理论的核心观点、提出背景与推动力,并指出理论演化中的关键节点或范式转变。请根据以下文献摘要内容,帮助我梳理该主题的研究趋势,包括:常见研究视角、研究方法的演变、研究对象的变化方向等。请根据以下研究空白与我已有的研究基础,帮我生成一个清晰的研究定位,包括:研究主题、研究对象、方法路径和理论框架。先要明确这个研究领域中一个主导或热门的理论,比如社会支持理论、认知负荷理论等,强调这个理论内部的不一致性、适用性争议,通过交代这⼀争议的背景,引发读者兴趣。

智能AI让学术科研更容易 568

HDU1520 Anniversary party 树形DP

HDU1520 Anniversary party 题面: 给一颗树,每个结点都有各自的价值,选择一些不相邻的结点使得收益最大。 解题过程: 树上相邻的结点不能同时选上,用 f [ x ][ 2 ] 第二维的 0 和 1 来表示不选和选这个节点所能达到的最大收益。 状态转移方程为: f[x][0] += max( (ll)0, max(f[y][0], f[y][...

Hagtaril 264

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

HDU1520 Anniversary party —— 树形DP

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1520 Anniversary party Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 12366    Accep

A man can be destroyed, but not defeated. 392

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

HDU1520 Anniversary party【树形DP】

题目链接:HDU1520 Anniversary party 题意:给你一棵树,每个点都有价值,父子不可同时选择,问选择的点的最大价值和; 分析:找到根,然后向下DFS树形DP,由子节点更新父节点,dp[i][1]表示选择i,dp[i][0]表示不选择i,然后向上回溯更新父节点; #include<bits/stdc++.h> #define pb push_back usin...

MaJorieL 166

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

hdu1520 Anniversary party 树形dp

 Anniversary party Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 17079    Accepted Submission(s): 6451   Problem Description There is goi...

cloudy_happy的博客 218

Hdu 1520 Anniversary party (DP_树形DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1520 题目大意:给定一棵关系树,每个节点有个权值,子节点和父节点不能同时选,问最后能选的最大价值是多少? 解题思路:树形DP入门题。由于子节点与父节点不能同时选,有人可能会用贪心思想,二者选其一肯定最优。其实不然,有可能父节点和子节点都不选,而要选子孙节点。不过只要

4646

HDU 1520 Anniversary party【树形DP】

Problem DescriptionThere is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The University has a hierarchical structure of employees. It means that the supervisor r

Irish_Moonshine的博客 324

【树形DP】 HDU 1520 Anniversary party

通道:http://acm.hdu.edu.cn/showproblem.php?pid=1520 题意:一棵树每个节点有一个权值,保证父亲节点与孩子节点不能同时出现,求出现的节点最大权值 思路:dp[u][0]:不选该节点,dp[u][1]选该节点 1 import java.io.*; 2 import java.util.*; 3 4 publ...

119

HDU 1520——Anniversary party【树形DP】

题目传送门 Problem Description There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The University has a hierarchical structure of employees. It means that the sup...

NIRVANA REBIRTH 272

hdu 1520 Anniversary party[树形dp]

http://acm.hdu.edu.cn/showproblem.php?pid=1520 代码: #include #include #include #include #include #include #include #include #include #include #include #include #define INF 0x7fffffff #define SUP

code_or_code 581

HDU 1520 Anniversary party 树形DP

链接:http://acm.hdu.edu.cn/showproblem.php?pid=1520 题意:给出一个职场关系图,每一个人有自己的价值,而且每一个人仅仅有一个领导,我要邀请的人不能够是一个人和他的直系领导,问最多能邀请到多少价值的人。 思路:入门题,就是把简单DP运用到了树这样的数据结构里,蛮有趣的。看题意应该叫森林DP比較合适一点。首先是建树,找到的根节点就是没...

aofan9566的博客 149

【树形DP-最大独立集】HDU 1520 Anniversary party

HDU 1520 Anniversary party 题意:开大Party啦啦啦!但是主办方很人性,不让直属上下司同时出席。所以最多能有多少人出席呢?但是并不是问这个QAQ。每个人有自己的happiness值,问最大的happiness值是多少呢? 最大独立集 定义:一颗有N个结点的无根树,选出尽可能多的结点,使得任何两个结点均不相邻,那么这个点集就称为最大独立集。 如何求解呢? 我们任...

L_X_ 271

HDU 1520 Anniversary party(树形DP)

题目链接: 1520 Anniversary party 思路: 1.题意:父亲和儿子不能一起出现,问能一起出现的所有结点值的最大值; 2.设dp[i][0]dp[i][0]dp[i][0]和dp[i][1]dp[i][1]dp[i][1]分别是以iii为根的子树、iii结点出现和不出现时的结点值最大值,设sonsonson为结点iii的儿子,则有 dp[i][0]+=max{dp[son]...

Yuhan的博客 183
上一篇: Codeforces Round #396 (Div. 2)C. Mahmoud and a Message
下一篇: HDU - 1394 Minimum Inversion Number 树状数组求逆序数
jerans
博客等级 码龄10年 54粉丝 255原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值