hdu 1520 树形DP

使用扫频信号测量房间脉冲响应 脉冲响应的测量 阅读详情

题目链接:hdu 1520

树形dp裸题也是第一题,tle卡了许久

树形dp就是在树上进行的动态规划过程,因为树这种数据结构本身自带状态转移的过程(父亲到子节点或子节点到父亲),所以在树上搞一手dp就很舒服。

设父节点是子节点的直接领导,dp【i】【0】代表i不出场时以i为根的子树rating最大值,dp【i】【1】则是i出场的情况。

#include<iostream>
#include<cstdio>
#include<vector>
#include<set>
#include<map>
#include<string.h>
#include<cmath>
#include<algorithm>
#include<queue>
#include<stack>
#define LL long long
#define mod 1000000007
#define inf 0x3f3f3f3f
#define sqr(a) (a)*(a)
#define lan(a,b) memset(a,b,sizeof(a))

using namespace std;

vector<int> bian[6010];
int n;
int a[6010];
int dp[6010][2];

void pin(int i)
{
    dp[i][0]=0;
    dp[i][1]=a[i];
   // printf("i=%d\n",i);
    for(int j=0;j!=bian[i].size();j++)
    {
        int to=bian[i][j];
        pin(to);
        dp[i][0]+=max(dp[to][0],dp[to][1]);
        dp[i][1]+=max(0,dp[to][0]);
    }
}

int main()
{
    while(~scanf("%d",&n))
    {
        for(int i=1;i<=n;i++)
            bian[i].clear();
        lan(a,0);
        lan(dp,0);
        int fa[6010]={0};
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        int p,q;
        while(~scanf("%d%d",&p,&q))
        {
            if(p==0&&q==0)
                break;
            bian[q].push_back(p);
            fa[p]=q;
        }
        int id;
        for(int i=1;i<=n;i++)
        {
            if(fa[i]==0)
            {
               id=i;
               break;
            }
        }
        pin(id);
        printf("%d\n",max(dp[id][0],dp[id][1]));
    }
    return 0;
}

CKS-CN考试之路----02 其实我们根据题目也可以知道秘钥是叫clever-cactus。稍作等待后,确认pod的状态,如果是1/1基本就没问题了。这步不一定做.目的是确定秘钥的名字。 阅读详情

相关推荐

ArduPilot + Gazebo + Mavros + QGC + 遥控器:从仿真到实机的自主轨迹控制实践

本文详细介绍了基于ArduPilot、Gazebo、Mavros和QGC的无人机自主轨迹控制全流程实践。从仿真环境搭建、多终端协同配置,到遥控器集成与自主圆形轨迹算法实现,提供了完整的代码示例和实机迁移要点,帮助开发者快速掌握无人机自主控制技术。

corn8的博客 940

HDU 1520 Anniversary party (树形dp) 解题报告

个人感觉这是一道比较经典而且基础的树形dp入门题目。 树形dp本质上就是在树的结构上去动态决策。具体到这道题上,可以这样说:对于某个人,有两种决策,让他来或者不让他来,如果让他来,那么他的直接下级肯定不能来;如果不让他来,那么它的直接下级来不来都行。 那么我们就可以得出解法了:首先,从输入中找出根节点(即最高级的上司),从他开始深搜。搜索的内容是以该节点为根节点的子树所能获得的最大开心值。

Light_Time 478

5G-A无源物联网:深度解析“不插电“智能的底层技术原理

北京移动推出5G-A无源物联网技术,实现电动车标签"零功耗"运行。该技术通过射频能量收集(利用5G-A基站高功率信号转换为电能)和反向散射通信(调制反射信号传输数据)两大核心技术,使设备无需电池即可工作。5G-A相比4G在信号能量密度、通信速率和定位精度等方面显著提升,结合通感一体等创新技术,为无源物联网提供商用基础。该方案已在北京小区试点应用,实现电动车精准定位管理,标签寿命可达5年以上。专家预测,这项技术将大幅降低物联网部署成本,推动"万物智联"时代的到来。

通信行业老兵、物联网从业者,做一个有趣的普通人。 2010

HDU1520(树形dp入门题)

题意:在一个有根树上每个节点有一个权值,每相邻的父亲和孩子只能选择一个,问怎么选择总权值之和最大。思路: 树形dp的常规入门题:设dp[i][0]表示:当前这个点不选,dp[i][1]表示当前这个点选择的最优解。转移方程:dp[cur][0]+=max(dp[son][1],dp[son][0]);//当前这个点不选,那他的孩子可选可不选,取 最大的。 dp[cur][1]+=dp[son][

笔记 4196

YOLOv11多模态融合实战:基于YOLOFuse的RGB与红外线(IR)协同检测技术解析

本文深入解析了YOLOv11多模态融合技术,重点介绍基于YOLOFuse框架的RGB与红外线(IR)协同检测方法。通过动态权重分配、跨模态特征对齐等创新设计,实现在低光照等复杂环境下的高精度目标检测,mAP提升高达37%。文章包含实战案例、训练技巧和部署方案,为计算机视觉开发者提供完整的多模态融合解决方案。

weixin_29038345的博客 290

Rokid眼镜高精度图像识别的五大工程破局点

图像识别是AR交互的基础能力,其核心在于将现实图像映射为可计算的数字特征,并通过几何建模解算空间姿态。在专用AR眼镜场景中,该过程面临光学畸变、传感器时序错位、低延迟跟踪与人因适配等复合挑战。尤其在工业现场,Rokid Max系列的鱼眼镜头畸变、IMU-视觉异步采样、窄FOV下快速眼动等物理约束,使传统基于AR Foundation或OpenCV的识别方案失效。本文聚焦真实部署中的关键瓶颈,涵盖实时反畸变纹理渲染、原生SDK直调优化、端侧轻量CNN模型(TinyImageNet-Rokid)、IMU-视觉紧

weixin_33681778的博客 697

HDU1520(链式前向星+树形DP)

题目 同洛谷经典树形DP例题 没有上司的舞会,简单来说,就是建树形图,父子节点最多取其一,取父节点就不能取子节点,取子节点就不能取父节点 树形DP的模板题 题解 直接给出动态规划方程: f[father][0]+=max(f[son][0],f[son][1]) f[father][1]+=f[son][0] 很好理解,0代表不取,1,代表取,同经典背包问题,取了父节点自然只能不取子节点,不取...

微风的博客 519

Qt Location实战:5分钟搞定地图插件切换与卫星图源加载(附完整代码)

本文是Qt Location开发系列教程的实战指南,详细讲解如何在Qt应用中快速实现地图插件(如Esri、OSM、MapboxGL)的动态切换与卫星图源的加载。通过清晰的代码示例,帮助开发者理解插件机制,解决常见配置问题,并在5分钟内构建出具备交互式地图切换功能的应用程序。

kafka6courier的博客 524

HDU1520(树型dp)

题意: 要开派对,邀请了上司就不能邀请他的下属,邀请了下属就不能邀请他的上司,每个人有一个值,求邀请的人的总值最大 思路: 树形dp:把每个人看成一个点,则该点有两个状态:邀请或没被邀请 定义dp[u][0]为节点没被邀请时的值;dp[u][1]为节点被邀请时的值 状态转移方程: dp[u][0]=sum(max(dp[v][0],dp[v][1])//v为u的下属 dp[u

QiHang的博客 342

Appstore开发者必读:3.2(f)违规预警与高效申诉指南

本文为AppStore开发者提供了应对3.2(f)违规通知的完整指南。文章深度解析了3.2(f)条款下的隐瞒性、关联性与真实性违规类型,并提供了黄金48小时内的自查、申诉信撰写与提交全流程策略。同时,文章强调遵循App Review Guidelines,建立内部合规清单与保持账号独立,是预防违规、维护开发者账号安全的关键。

weixin_29214559的博客 272

一次请求穿过的六道关卡:微服务基础组件的通信与IO、事件驱动、负载均衡、服务路由、API网关与配置协调

微服务的稳定性往往取决于看不见的基础组件。本文跟随一次下单请求,依次穿过API网关、服务路由、负载均衡与服务通信,再沿事件分支扇出,并从控制面审视配置中心。通信层剖析握手成本、连接复用、epoll与主从Reactor、心跳判活、退避抖动、截止时间与重试预算;事件层讲解编舞与编排、事务发件箱和幂等消费;均衡与路由对比静态与动态算法、路由链、全链路灰度与同区保底;网关讨论过滤器链与限流算法;配置部分给出四类配置、长轮询与共识协调,最后归纳五道防线。文中关键数据均来自可在Java8运行的演示程序。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+

每周训练-hdu1520

http://acm.hdu.edu.cn/showproblem.php?pid=1520 树上dp dp[i][0]表示编号为i的人不去,dp[i][1]表示编号为i的人去 设i下属为j 如果i去,他的下属一定不去;dp[i][1]加dp[j][0] 如果i不去,他的下属可以去可以不去;dp[i][0]加max(dp[i][0],dp[i][1]) #include <stdio.h&g...

x3219935858的博客 143

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

hdu1520 (树形dp)

hdu1520http://acm.hdu.edu.cn/showproblem.php?pid=1520 题意是给定一棵树,每个结点有一个价值,要我们选择任意个结点使得总价值最大,规则是如果父亲结点被选了,那么儿子结点不可以被选,但是儿子的儿子可以被选 本来学搜索的时候找到这题搜索题,然后用搜索做的 1 #include <stdio.h> 2 #include...

weixin_30736301的博客 102

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

HDU1520:Anniversary party(树形DP)

HDU1520:Anniversary party(树形DP)

ccshijtgc的专栏 229

HDU1520 Anniversary party 树形DP

题目链接:HDU1520 题目大意:给你n个点,每个点拥有相应的权值,要求选一部分点使得他们权值和最大,要求父亲节点和孩子节点不能同时被选中。 第一次见到树形DP 注释写的很详细 AC代码/* 2017年7月31日11:39:59 HDU1520 AC代码 */ #include<stdio.h> const int maxn=6000+10; //int a[maxn]; struc

xyry 374

hdu1520 Anniversary party 简单树形DP

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1520 思路:树形DP的入门题 定义dp[root][1]表示以root为根节点的子树,且root本身参加party的最优值,那么dp[root][1]+=Σdp[son][0]+happy[root]; dp[root][0]表示以root为跟节点且root本身没有参加的最优值,那么dp[roo...

weixin_30687051的博客 86

HDU - 1520 Anniversary party(树形DP)

HDU - 1520 Anniversary party(树形DP+线性DP) #include<iostream> #include<cstring> #include<vector> using namespace std; const int N = 6010; vector<int> g[N]; int val[N],dp[N][2],fa[N],n; void dfs(int u) { dp[u][0]=0,dp[u][1]=val[u];

00后的博客 334

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

hdu1520(树形dp)

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

star_moon0309的博客 209

树形DP-HDU1520

什么是树形DP呢?看完这个入门题目,估计你就明白了!例题HDU1520-Anniversary party 题目描述:人们都不愿意在聚会中遇到自己的直接上司。现在给出每个人能带给聚会的欢乐值以及他们直接的上司下属关系,问聚会欢乐值最高可以是多少? 输入输出:参见评测网站题目。解析对于这道题,我们可以先使用邻接表存储某人和他的直接下属。因为我们知道:如果某人去参加聚会,那么他的直接下属就一定不能参

This is war of mine. 454

HDU 1520 树形dp裸题

1、HDU 1520 Anniversary party 2、总结:第一道树形dp,有点纠结 题意:公司聚会,员工与直接上司不能同时来,求最大权值和 #include<iostream> #include<cstring> #include<cmath> #include<queue> #include<algori...

weixin_30505485的博客 157

hdu1520 Anniversary party 树形dp

hdu1520 比之前树形背包要简单多了,没有背包的体积限制 dp[ i ] [ 0 ]  以i为根(不包括i本身)的树上取到的最大值 dp[ i ] [ 1 ]   以i为根(包括i本身)的树上取到的最大值 #include #include #include #include using namespace std; int N,V[6100]; vectorso

Time flies 997

树形dp hdu1520

Anniversary party HDU - 1520 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 t...

yhb的博客 260

【树形dp小练】HDU1520 HDU2196 HDU1561 HDU3534

【树形dp】就是在树上做的一些dpdp之类的递推,因为一般需要递归处理,因此平凡情况的处理可能需要理清思路。昨晚开始切了44题,作为入门训练。题目都非常简单,但是似乎做起来都还口以~ hdu1520hdu1520 给一颗关系树,各点有权值,选一些点出来。任一对直接相连的边连接的点不能同时选择,问选择出的权值和最大为多少。 考虑以uu为根的子树可以选择的方法,dp[u]dp[u]表示选择uu时能获得最

When you go away 3538

【HDU 1520】Anniversary party(树形DP)

题目:hdu1520 题意:每个人有自己的欢愉度值,每个人不能和他的上级同时出现,最大欢愉值是多少 思路:树形dp入门题,建一棵树,从下往上dp,dp[i][0]表示第i个人不去,dp[i][1]表示去 CODE #include #include #include #include #define maxn 6003 using namespace std; int dp[m

FSMM_blog 338

hdu1520 树形DP

http://acm.hdu.edu.cn/showproblem.php?pid=1520 Problem Description There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The University has a hierar

ACM,再见! 1083
上一篇: hdu 2177 威佐夫博弈
下一篇: hdu 1565 状压DP
Dale_zero
博客等级 码龄9年 10粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值