暂无链接

艾奇摘苹果

【问题描述】

艾奇在遥远的美洲大陆有一片苹果树森林。
听上去非常不错的是,苹果森林每年收成都还不错。
艾奇摘苹果的方式非常有趣,由于苹果树太高,她常直接折断树枝来获得一大堆(整棵子树)的苹果。
艾奇也不想把苹果树破坏的太狠,毕竟苹果树也不是只结一年的苹果。所以她对于一棵树,至多会折断一根树枝。
艾奇不像过去的某鲁姓大师,她并没有那个力气倒拔苹果树,因为一棵树的根是埋在土里的。所以她并不能获得整棵树的苹果。
众所周知,美洲大陆龙卷风贼多。龙卷风既然能摧毁停车场,那么吹翻一片苹果森林应该不是什么难事。所以艾奇养了一些小机器人给艾奇预警龙卷风。
艾奇把这些小机器人放在花上,这样一来小机器人就能吸收树的养分工作,但是这也导致了这朵花不能结果。
如果你折断了一根树枝,小机器人就会因为没有养分而狂躁,它们只吃原本和它们属于同一棵树上被摘下来的苹果。如果这些苹果不够吃,它们就会把艾奇吃掉。
树林有点大,艾奇想知道,照她这种收果实的方法,在自己不被吃掉的情况下,至多能收获多少苹果呢?

【输入格式】

输入文件名为apple.inapple. inapple.in。
第一行两个整数nmn\ mn m分别表示这片森林的节点树和树枝数量(就是边的数量)。我们默认一棵树的根就是这棵树中编号最小的节点。
接下来nnn个整数。
如果该整数为正,那么表示这个节点结苹果的数量。
如果该整数为负,那么表示这个节点养了一个小机器人,它被摘下来要吃的
果子数量。
对于一棵树的根节点,这个节点的权值可以忽略。
接下来mmm行,每行两个整数i,ji,ji,j表示iii和jjj在树上有边相连。

【输出格式】

输出文件名为apple.outapple.outapple.out。
一行一个整数,表示艾奇至多能收获多少苹果。

【输入样例 1】

详见apple1.inapple1.inapple1.in

【输出样例 1】

详见apple1.outapple1.outapple1.out

【数据范围】

题解

dfsdfsdfs求一棵树中的最大子树,把所有树的最大子树加到一起。

代码

略微卡常

#include<bits/stdc++.h>
using namespace std;
const int M=1e6+5;
int val[M],vis[M],head[M],nxt[M<<1],to[M<<1],n,m,cnt,r,f;
long long ans,sum[M],mx;
char c;
void add(int f,int t){nxt[++cnt]=head[f],head[f]=cnt,to[cnt]=t;}
int read()
{for(r=0,f=1;!isdigit(c);c=getchar())if(c=='-')f=-1;for(;isdigit(c);c=getchar())r=(r<<1)+(r<<3)+c-'0';return r*f;
}
void dfs(int v){vis[v]=1,sum[v]=val[v];for(int i=head[v];i;i=nxt[i])if(!vis[to[i]])dfs(to[i]),sum[v]+=sum[to[i]],mx=max(mx,sum[to[i]]);}
void in()
{n=read(),m=read();for(int i=1;i<=n;++i)val[i]=read();for(int i=1,a,b;i<=m;++i)a=read(),b=read(),add(a,b),add(b,a);
}
void ac(){for(int i=1;i<=n;++i)if(!vis[i])mx=0,dfs(i),ans+=mx;printf("%lld",ans);}
int main(){in(),ac();}

[2018.10.18 T1] 艾奇摘苹果相关推荐

  1. 训练日志 2018.10.18

    花了一周时间把之前学过的算法和题重新看了一下,重新架构了一下知识体系,对 DP 和搜索有了更深刻的认识,这周正式开始图论内容,抽空再将搜索的优化和 A* 算法学习一下 2018.10.18

  2. ssl提高组周四备考赛【2018.10.18】

    前言 开始做四面八方扣来的题 成绩 RankRankRank PersonPersonPerson ScoreScoreScore AAA BBB CCC 111 2017zyc2017zyc2017 ...

  3. 【2018.10.18】noip模拟赛Day2 地球危机(2018年第九届蓝桥杯C/C++A组省赛 三体攻击)...

    题目描述 三体人将对地球发起攻击.为了抵御攻击,地球人派出了 $A × B × C$ 艘战舰,在太 空中排成一个 $A$ 层 $B$ 行 $C$ 列的立方体.其中,第 $i$ 层第 $j$ 行第 $k ...

  4. 2018.10.18多校

    T1:虽说大家都被cdq限制住了思维,我一个注意到了排列有问题的还是凉了,这个我没有一点办法了. 链接:cdq T2:留坑,太毒了 T3:考场上就不觉得能写,虽然心里想到一些做法,还是没写了,现在会写 ...

  5. 计算机科学英语 --- 持续更新中(2018/10/18)

    plain     eg:plain text  纯文本:纯文本(金山词霸) invoke 调用 eg:To invoke a remote method, a request is sent.  为 ...

  6. 《惢客创业日记》2018.10.18(周四)给讯飞语音的三条建议

    今天,在上班的路上继续用讯飞语音的一款产品"讯飞语记"来写日记.现在,即使晚上躺在床上,用"讯飞语记"来写日记,每天仍然会花去两个多小时的时间.这对我来说,不仅 ...

  7. 马云:腾讯是阿里的成长伴侣;华为 2 万 CNBG 员工“投奔”余承东;18 岁学生索赔苹果 10 亿美元 | 极客头条...

    「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯,让所有技术人,时刻紧跟业界潮流. 快讯速知 马 ...

  8. G1-007 小鲁摘苹果 (10 分)(2022/3/15天梯赛校内选拔赛)

    小鲁家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,小鲁就会跑去摘苹果(不如我们去帮他吃掉).小鲁有个30厘米高的板凳,当他不能直接用手摘到苹果的时候,就会踩到板凳上再试试. ...

  9. 蓝桥杯陶陶摘苹果C语言,Java实现 蓝桥杯VIP 算法提高 陶陶摘苹果2

    算法提高 陶陶摘苹果2 时间限制:1.0s 内存限制:256.0MB 问题描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出n个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳, ...

  10. 洛谷P1478 陶陶摘苹果(升级版)

    题目数据范围小,开两个数组手写冒泡应该也能过,不过和之前在牛客上的一题类似用结构体数组就好了,主要是注意用结构体数组的排序 题目 题目描述 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果 ...

最新文章

  1. XGBoost与LightGBM原理及应用
  2. 软件之间的数据格式对接往往将_XRD数据格式的转换和TXT格式数据正确导入Jade的办法...
  3. usb连接不上 艾德克斯电源_第十二届(深圳)新能源汽车核心电源技术研讨会成功举办...
  4. Linux IPC实践(11) --System V信号量(1)
  5. 库克宣布苹果将捐款帮助山西
  6. 马云宣布再捐赠800台呼吸机 用最快的速度送到欧洲国家一线医院
  7. Nginx是什么 ? 能干嘛 ?
  8. BZOJ3728 PA2014Final Zarowki
  9. 4.6 TF常用功能模块
  10. 深信服桌面云(aDesk)学习笔记
  11. DSP入门:GPIO
  12. matlab用prewitt算子,canny算子边缘检测_prewitt算子_matlab怎么中值滤波
  13. Silvaco TCAD安装包相关问题
  14. 802.11ac linux驱动下载,下载的驱动程序Realtek 8811CU Wireless LAN 802.11ac USB NIC 1030.22.0405.2017...
  15. [内网渗透学习]内网收集Fscan扫描探测工具
  16. 百度谷歌一起搜 - 百Google度 - Chrome插件
  17. ServU 教程11.1.0.7使用教程
  18. 中国宠物用品品牌“Touchdog它它”完成数千万元Pre-A 轮融资...
  19. java编程:设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声
  20. 微型计算机48MHz辐射超,造成EMC辐射超标原因有哪些(精彩案例分析)

热门文章

  1. datepicker不能选择是为什么_为什么婚车不能倒退 婚车不能走回头路吗
  2. 使用BoobSnail生成任意Excel 4.0 XLM宏文件
  3. JSONObject.toBean方法复制不成功
  4. linux串口导致死机,Linux系统死机情况分析与处理方案介绍
  5. 全局配置_再次强调:必须站在全局的角度去考虑客厅的内机配置
  6. Java单链表基本操作
  7. 恢复系统管理员密码的五大奇招
  8. rvm,ruby的安装
  9. python基本使用时常见错误
  10. [搬运] 写给 C# 开发人员的函数式编程