jozj3419-最大利润【树形dp】

前言

树形dp是前天学的,题目也是前天做的,可博客却是今天发的。


正题

题目大意

一棵树一样的火车站,每个站点有不同的利润,不能连续选择相连的两个站点的利润,求最大利润。
From jzoj


输入输出(建议无视)

Input

第一行输入整数N(<=100000),表示有N个火车站,分别用1,2。。。,N来编号。接下来N行,每行一个整数表示每个站点的利润,接下来N-1行描述火车站网络,每行两个整数,表示相连接的两个站点。

Output

输出一个整数表示可以获得的最大利润。

Sample Input

6
10
20
25
40
30
30
4 5
1 3
3 4
2 3
6 4

Sample Output

90


解题思路

树形dp,f[i]表示选择i站点包括它子节点的最大利润,g[i]表示不包括它子节点的最大利润。
动态转移方程
f[i]+=f[yi]+a[i]
g[i]+=max(g[yi],f[yi])
yi表示它的所有子节点


代码

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
struct tree{int x,y,next;
}a[200001];
bool ok[100001];
int n,money[100001],w,ls[100001],f[100001],g[100001],dx,dy;
bool dp(int x)
{if (ok[x]) return false;ok[x]=true;//标记int q=ls[x];while (q!=0){if (dp(a[q].y)){f[x]+=g[a[q].y];g[x]+=max(f[a[q].y],g[a[q].y]);//动态转移}q=a[q].next;//下一条边}f[x]+=money[x];//价值return true;
}
int main()
{scanf("%d",&n);for (int i=1;i<=n;i++) scanf("%d",&money[i]);for (int i=1;i<n;i++){scanf("%d%d",&dx,&dy);a[++w].x=dx;a[w].y=dy;a[w].next=ls[dx];ls[dx]=w;//邻接表a[++w].x=dy;a[w].y=dx;a[w].next=ls[dy];ls[dy]=w;}memset(ok,false,sizeof(ok));//有些莫名其妙的bug所以...dp(1);//随便哪个点开始都行,反正是个无向图printf("%d",max(f[1],g[1]));//输出
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324792.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

隐马尔科夫模型-前向算法

转载自 隐马尔科夫模型-前向算法 隐马尔科夫模型-前向算法 在该篇文章中讲了隐马尔科夫模型&#xff08;HMM&#xff09;一基本模型与三个基本问题 隐马尔科夫模型-基本模型与三个基本问题&#xff0c;这篇文章总结一下隐马尔科夫链&#xff08;HMM&#xff09;中的前向与后…

线段树初见——区间询问与改变最大值

前言 昨天某B组讲主席树&#xff0c;然后就作死的去听了&#xff0c;也没听懂&#xff08;因为连线段树都不懂&#xff09;&#xff0c;然后好奇心就去问了一下老师线段树是个蛤&#xff0c;然后这篇博客就诞生了。 正题 首先线段树就是一个可以快速区间改变和询问的东东&am…

关系数据库理论

依赖 候选码 三大范式 公理系统 求最小函数的依赖集 例 解 模式分解

19级:班级日常分享 | 一天一瞬间

点击上方蓝色关注我们&#xff01;昨天没有看到他们早读&#xff0c;有点失落。今天再一次去教室&#xff0c;还未走到门口呢&#xff0c;就听见教室里面的早读生透过门缝传出&#xff0c;甚是开心。在陪他们早读的时候&#xff0c;自己顺便读了几篇散文和古诗古文&#xff0c;…

在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序

前言 Visual Studio 2017已经发布了很久了。做为集成了Asp.Net Core 1.1的地表最强IDE工具&#xff0c;越来越受.NET系的开发人员追捧。 随着Google Angular4的发布。我一直在想&#xff0c;怎么能够用这个地表最强IDE工具编写Angular4的Asp.Net Core项目。经过不懈的研究。终…

机器学习中向量化编程总结记录

转载自 机器学习中向量化编程总结记录 向量化编程总结记录 很多时候&#xff0c;我们在实现算法的时候&#xff0c;总会碰到累和的伪代码&#xff1a; 比如下面这个&#xff1a; 为了简单我这里只重复5次&#xff0c;但是原理是一样的。 很显然我们要得到这个结果&#xf…

Spring整合Mybatis-完成用户登录

①导入的jar包: ②在src下创建并配置applicationcontext.xml文件 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&qu…

【jzoj】2018.2.7NOIP普及组——某【BC】组模拟赛

前言 ……终于改完了&#xff0c;像之前小L一样崩溃。今天C组和B组一起做题&#xff0c;所以…… 正题 题目1&#xff1a;教主的花园&#xff08;jzoj1792&#xff09; 一平面直角坐标系&#xff0c;在x轴的位置建立一堵墙&#xff0c;墙上有n道门&#xff0c;给出门的位置&a…

刘奕佳: 我的职校新生活 | 班级日常分享

点击上方蓝色关注我们&#xff01;时光匆匆&#xff0c;一转眼到了开学季&#xff0c;校园里弥漫着浓重的书香之气踏入校园&#xff0c;映入眼帘的就是雄伟的教学楼&#xff0c;意气风发的朗朗书声&#xff0c;让人情不自禁的陷入深深的学习中。实训楼当熟悉的上下课铃声又在我…

一个非常好的依存句法可视化工具

转载自 一个非常好的依存句法可视化工具 一个非常好的依存句法可视化工具 在依存句法研究中&#xff0c;常见的CONLL格式的句法树库&#xff0c;一眼看上去就不是太明白整棵树的结构。 这里分享推荐一个南京大学nlp实验室制作的一个依存句法可视化工具&#xff0c;效果如图…

DDD理论学习系列(8)-- 应用服务amp;amp;领域服务

1. 引言 单从字面理解&#xff0c;不管是领域服务还是应用服务&#xff0c;都是服务。而什么是服务&#xff1f;从SOA到微服务&#xff0c;它们所描述的服务都是一个宽泛的概念&#xff0c;我们可以理解为服务是行为的抽象。从前缀来看&#xff0c;根据DDD的经典分层架构&…

纪念中学15-5(=10)天感想

来自水lao ten days の 感想 前言 时光飞逝&#xff0c;转眼间&#xff0c;纪念中学的10天生活就那么过去了。回想起刚来&#xff0c;仿佛就在昨天。今天我将要离开这里&#xff0c;总感觉有无限的遗憾&#xff0c;无限的失落。可是花朵总是要谢&#xff0c;时光不停流逝。我…

祝张远远和杨凯博同学生日快乐 | 班级日常分享

点击上方蓝色关注我们&#xff01;首先祝张远远和杨凯博同学生日快乐&#xff01;上午丁老师和我说&#xff0c;今天是张远远同学的生日&#xff0c;于是我们就简单的商量了下&#xff0c;准备弄个活动&#xff0c;祝一下张远远同学生日快乐&#xff01;待下午时&#xff0c;获…

开放对静态资源的访问

前端控制器先进行处理&#xff0c;处理不了的交给default… 缺一不可

通俗理解维特比算法

转载自 通俗理解维特比算法 本文假定读者有一定的隐马模型基础&#xff01;或者大家可以参考这两篇文章。 隐马尔科夫模型-基本模型与三个基本问题和隐马尔科夫模型-前向算法 维特比算法说白了就是动态规划实现最短路径&#xff0c;只要知道“动态规划可以降低复杂度”这一…

使用docker-compose搭建AspNetCore开发环境

1 使用docker-compose搭建开发环境 我们的目标很简单&#xff1a;使用docker-compose把若干个docker容器组合起来就成了。 首先使用Nginx代理所有的Web程序&#xff0c;这样只需要在主机上监听一个端口就可以了&#xff0c;不污染主机。再组合各Web程序、Redis/Memcached、Sq…

珍惜、珍爱!

点击上方蓝色关注我们&#xff01;这是一篇付费文章&#xff0c;其实目的就是不让人看&#xff0c;哈哈哈&#xff01;不让别人看为什么还要写&#xff1f;因为写了才痛快&#xff01;

SpringAOP的SchemaBase方式

文章目录1、SpringAOP的专业概念:2、SpringAOP的SchemaBase方式基本流程SchemaBase方式环绕通知方式实现AOPSchemaBase方式的异常通知SpringAOP的SchemaBase方法的参数1、SpringAOP的专业概念: 真实对象: 要进行功能扩展的对象,相当于A对象 代理对象: 完成功能扩展的对象,相当于…

ssl2661-廉价最短路径【SPFA】

前言 这是一篇迟到的博客 题目 找一条最廉价的最短路径 输入输出&#xff08;建议无视&#xff09; Input 输入文件第一行有两个整数m和n&#xff0c;用一个空格隔开&#xff0c;其中&#xff0c;m是顶点数&#xff0c;而n是边数。接下来的n行给出所有的边及其价值&#…

自然语言处理的十个发展趋势

转载自 哈工大刘挺教授&#xff1a;自然语言处理的十个发展趋势 近日&#xff0c;由中国人工智能学会、阿里巴巴集团 & 蚂蚁金服主办&#xff0c;CSDN、中国科学院自动化研究所承办的第三届中国人工智能大会&#xff08;CCAI 2017&#xff09;在杭州国际会议中心盛大开幕…