【树形dp入门】没有上司的舞会 @洛谷P1352

题解:洛谷 P1352 没有上司的舞会 等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数。 阅读详情

传送门

题目描述
某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。
输入输出格式
输入格式:
第一行一个整数N。(1<=N<=6000)
接下来N行,第i+1行表示i号职员的快乐指数Ri。(-128<=Ri<=127)
接下来N-1行,每行输入一对整数L,K。表示K是L的直接上司。
最后一行输入0 0
输出格式:
输出最大的快乐指数。
输入输出样例
输入样例#1:
7
1
1
1
1
1
1
1
1 3
2 3
6 4
7 4
4 5
3 5
0 0
输出样例#1:
5

#define IN_LB() freopen("C:\\Users\\acm2018\\Desktop\\in.txt","r",stdin)
#define OUT_LB() freopen("C:\\Users\\acm2018\\Desktop\\out.txt","w",stdout)
#define IN_PC() freopen("C:\\Users\\hz\\Desktop\\in.txt","r",stdin)
#include <bits/stdc++.h>
using namespace std;

const int maxn = 6005;

struct edge {
    int v,nex;
} ed[maxn];

int r[maxn];
int head[maxn],cnt;
int f[maxn][2];

void addedge(int u,int v) {
    cnt++;
    ed[cnt].v = v;
    ed[cnt].nex = head[u];
    head[u] = cnt;
}

void dp(int _x) {
    f[_x][0] = 0;
    f[_x][1] = r[_x];
    for(int i=head[_x]; i; i=ed[i].nex) {
        int y = ed[i].v;
        dp(y);
        f[_x][0] += max(f[y][0],f[y][1]);
        f[_x][1] += f[y][0];
    }
}

int main() {
//    IN_LB();
    int N;
    scanf("%d",&N);
    for(int i=1; i<=N; i++) {
        scanf("%d",r+i);
    }
    int flag_v[maxn] = {0};
    for(int i=0; i<N; i++) {
        int u,v;
        scanf("%d%d",&v,&u);
        flag_v[v] = 1;
        addedge(u,v);
    }
    int root = -1;
    for(int i=1; i<=N; i++) {
        if(flag_v[i]==0) {
            root = i;
            break;
        }
    }
    dp(root);
    printf("%d\n",max(f[root][0],f[root][1]));
    return 0;
}
SAP 批量处理分包事后调整:BAPI_GOODSMVT_CREATE 关键参数与避坑指南 本文详细解析了SAP系统中使用BAPI_GOODSMVT_CREATE进行分包事后批量调整的关键参数配置与常见错误排查。重点介绍了GOODSMVT_CODE设置为'07'的必要性、GOODSMVT_ITEM结构体的正确配置方法,以及如何避免M7384、M7386等常见错误,帮助用户高效处理分包业务中的数量调整问题。 阅读详情

相关推荐

OpenCode:终端开源AI编程助手,多模型接入与实战指南

AI编程助手正在从IDE侧边栏走向终端环境。其核心原理是让模型直接读取项目文件、执行命令、查看报错,形成从诊断到修复的完整闭环,从而解决传统插件上下文割裂的问题。技术价值在于开源透明、模型无关,既可接入OpenAI等云端服务,也能通过Ollama连接本地模型,兼顾数据安全与离线场景。在工程实践中,它适用于长时间驻留项目、自动修Bug、团队统一AI工具链等需求。OpenCode正是这样一款终端AI助手,支持灵活配置第三方API密钥,提供免费档与Go套餐,并通过Skills技能系统让模型遵循标准操作流程。同时,

weixin_28745821的博客 326

P1352 没有上司的舞会 -树形DP

P1352 没有上司的舞会 题意 一家公司有n个员工,编号为1~n。 他们的关系就像一棵以校长为根的数,父节点就是子节点的直接上司。 每个员工都有一个快乐指数。 现在要开一个周年庆典,没有员工愿意和直接上司参加舞会,问怎样安排能让快乐值最大,求最大值。 数据范围:N≤6000 想法 DFS+DP,dp[x,1]表示x去,dp[x,0]表示x不去 dp[x,1]:=sum(dp[所有子节点,0])+快乐值[x]; //x去了,下属不能去,所以dp[所有子节点,0] dp[x,0]:=sum

马丘 467

从零开始用TS开发babylonjs - 本机环境搭建

babylonjs,初始化本地安装,web3d引擎

han3527638的专栏 793

P1352 没有上司的舞会 分治法解决

第一种情况下,将每一棵子树所代表的最大快乐值相加即可,第二种情况下,将参与舞会的直接下属从快乐值中剔除,比较这两种情况的最大值,写入当前根,并确定当前根的领导是否参与舞会。第i行的数表示第i个人的气氛值x(-128

littleAsavakit的博客 313

多尺度变换(Multidimensional Scaling ,MDS)详解

介绍多尺度变换基本原理

5214

opencv实践项目-图片拼接之缝合线算法

opencv 图片缝合线算法

wyw0000的博客 2624

树形dp学习(1)

动态规划中,相当一部分是区间规划,但是此题是树形规划。对我来说,此题确实开阔了我的眼界,因为是我首次接触到树形规划。我也是在看这道题的题解时,意识到线性规划不必拘泥于数组,也可以拓展到树这种数据结构。树形规划的时间复杂度也没有我想象的那么大,总之这是一道与我而言非常有价值的题目。

wr114514的博客 1044

BevFusion (1): 传感器介绍

激光雷达,也称光学雷达(LIght Detection And Ranging)是激光探测与测距系统的简称,它通过测定传感器发射器与目标物体之间的传播距离,分析目标物体表面的反射能量大小、反射波谱的幅度、频率和相位等信息,从而呈现出目标物精确的三维结构信息。激光雷达是自动驾驶车辆的关键传感器,如下图所示,车辆上方旋转的圆柱体对应就是激光雷达传感器。

@bangbang的博客 1474

【洛谷】P1352 没有上司的舞会

题目地址: https://www.luogu.com.cn/problem/P1352 某大学有nnn个职员,编号为1∼n1\sim n1∼n。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数rir_iri​,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。 输入格式: 输入的第一行是一个整数 n

数学、算法爱好者的博客 1384

网神 SecGate 3600 防火墙 app_av_import_save文件上传漏洞(含批量验证poc)

网神 SecGate 3600 防火墙 app_av_import_save文件上传漏洞(含批量验证poc)

weixin_43567873的博客 296

微信小程序 - 详细实现随机生成订单号,微信小程序创建订单号思路,不重复订单号生成的方法,小程序自动生成固定规则的订单号流水号(必须是唯一不重复的订单号,生成唯一订单号)详细生成方法,示例代码教程最新

微信小程序,vue2,vue3,订单号,流水号思路,微信小程序 详细实现随机生成订单号(JavaScript),随机生成商户订单号,根据当前时间随机生成流水号或者订单号,微信小程序之商家订单,订单号随机生成器,自动生成固定规则的订单号(前缀+采购日期+6位流水号)微信小程序 生成外卖顺序号,生成订单号或流水号简单方法,实现订单号生成唯一的解决方案,如何按日期生成订单号,14位编号=8位日期(+6位流水号),自动生成订单号(固定+日期+数字),销售订单号自动生成。在微信小程序开发中,详解实现随机生成创建订单号

🏆 前端领域优质创作者 1185

P1352 没有上司的舞会

树形dp dfs

m0_74039681的博客 226

《派出你的AI同事:WorkBuddy案例实战》062:投研资讯摘要与预警

投研资讯摘要与预警:新闻、公告、行情交给 AI 同事提炼与预警,投研从“刷资讯”变成“读摘要”。

LuckyHanMo的博客 181

【洛谷】P1352 没有上司的舞会 的题解

树形 dp,由于一个人去与不去会影响到下一位,所以我们多开一维。函数进行 dp 的更新就可以了。这样的话,我们只需要找到没有上司的节点。经典的树形 DP,典中典qaq。

ZH_qaq的博客 1154

pscad IEEE标准系统搭建说明

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

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

洛谷 P1352 没有上司的舞会(树形dp)

洛谷P1352没有上司的舞会(树形dp)

鱼香rose_的博客 1105

VC中sqlite的使用

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

P1352 没有上司的舞会 (树型dp)

洛谷 P1352 题解

2403_87530627的博客 1438

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

没有上司的舞会(树形dp入门题)

洛谷 P1352没有上司的舞会 题目描述 *某大学有 n 个职员,编号为 1…n。 他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 r[i]r[ i ]r[i],但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。 输入格式 输入的第一行是一个整数 nnn。 第 2 到第 (n+1)(n + 1

麻衣学姐的博客 1440

洛谷 P1352 没有上司的舞会

该上司不出席舞会时他的下属可以出席舞会也可以不出席舞会,因此是两者之间取个max,即dp[x][0]+=max(dp[他的子节点][0],dp[他的子节点][1]);所以该上司出席时即dp[x][1]应让他的所有子节点不出席该舞会时的最大快乐值,dp[x][1]+=dp[他的子节点][0],并且别忘了最后加上x本身的快乐值;

2501_91727925的博客 1096

(树形dp)洛谷P1352没有上司的舞会

洛谷P1352没有上司的舞会 思路: 树形dp的模板题。 dp[i][0]表示不i结点后i子树能得到得最大值,dp[i][1]表示选了i子树后能得到得最大值。 用dfs,回溯时通过子节点向上更新信息。 dp[u][0]=∑max{dp[v][1],dp[v][0]}; dp[u][1]=a[u]+dp[v][0]; 对于找根节点,我们可以把{u,v}作为一个有向边,根节点即为入度为0的点。 代码:...

Z7784562的博客 279

洛谷P1352 没有上司的舞会

如果当前职员参加,那他的下属都不能来,所以dp[i][1]等于自己的快乐值加上所有下属不参加时的dp值;如果当前职员不参加,下属可来可不来,那就取每个下属参加或不参加的最大值加起来。最后比较根节点参加和不参加的快乐值,输出大的那个就行。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。行,每行一个整数,第。

aierxiang的博客 471

没有上司的舞会(洛谷-P1352)

无论我们用递归还是非递归,DP 的状态定义是通用的。去或不去。dp[u][0]:表示以u为根的子树中,u不参加时的最大快乐值。dp[u][1]:表示以u为根的子树中,u参加时的最大快乐值。特性DFS递归版BFS非递归版思维难度低(天然递归)中(需理解拓扑序)空间风险树深过大时可能爆栈安全(使用堆内存)代码量少稍多推荐场景快速写题、树深度较小工程级代码、树深度极大在这道的题目中,两种方法都能AC。但掌握BFS+逆序循环。

布心老混子 所有代码均老混子本人远古手搓 易错点均为学生真实场景 博客文章部分借助ai生成 638

P1352 没有上司的舞会 解题报告(树形dp)

目录题目概述思路分析ac代码 题目概述 https://www.luogu.com.cn/problem/P1352 思路分析 看到上司的下属之间的关系很容易想到树形结构,那么,又和最值挂钩,那么想到的就是树形dp。那么,这里的可以进行比较的点就是:上司参加,下属就不能参加,下属参加,上司一定不能参加,因此,状态转移的时候我们就需要比较的是上司去和不去的情况,所以,我们把dp数组的第二维开为2:存...

nagisa2019的博客 453

P1352 没有上司的舞会 (树形dp)

链接: luogu1352 没有上司的舞会 题目描述 某大学有 n个职员,编号为 1…n。 他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。 现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 ri ,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。 所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最...

October の 补题记录 425

洛谷P1352-没有上司的舞会(树形DP)

题目链接:https://www.luogu.com.cn/problem/P1352 博客园食用链接:https://www.cnblogs.com/lonely-wind-/p/13488159.html 题目描述 某大学有 n 个职员,编号为 1…n1\ldots n1…n。 他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。 现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 rir_iri​,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职

孤风的博客 1565
上一篇: 【贪心】LIS @The 15th Zhejiang Provincial Collegiate Programming Contest E
下一篇: 【容斥】Four-tuples @山东省第九届省赛 F
乌拉尔银狼
博客等级 码龄10年 9粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值