D-生活在树上 SDU2020个人排位赛#3

D. 生活在树上

https://codeforces.com/gym/323026/problem/D

很遗憾,在宿舍使用电饼铛是违规的,zdx并没能成功烙好饼。事实上,他一打开开关,整层楼的电闸都跳了,尽管他已经把线接在了空调专用插口上。zdx需要恢复宿舍的供电,宿舍的结构可以看成一棵有根树,有n个节点,编号从0到n−1,其中0号点是根节点。每个节点有一个数值,zdx每次行动会指定一个点,然后把这个点到根节点的路径上所有节点的数值都+1或者−1。直到所有节点的数值都变为0,宿舍的供电才会恢复。那么,zdx至少要行动多少次

Input
第一行一个整数n,1≤n≤100000,代表节点个数
接下来的第i行(1≤i≤n),每行一个整数,代表第i个节点的父节点
最后一行有n个整数,第i个数|ai|≤100000,代表第i个节点初始数值
保证输入是有效的树

Output
输出一个整数,代表zdx最少的行动次数

Example
inputCopy
3
0
0
2 1 3

outputCopy
6

用带lazy标记的dfs(可能会有点像懒惰标记线段树的思想)。
当前节点数值a加上lazy就是该点子树全部归0后,该点的数值。

#include<bits/stdc++.h>
using namespace std;
vector <int> v[100100];
long long ans=0;
long long a[100100];
long long lazy[100100];
int fa[100100];
void dfs(int n)
{if(v[n].size()>0){for(auto i:v[n]){dfs(i);}}a[n]+=lazy[n];ans+=abs(a[n]);lazy[fa[n]]+=-a[n]+lazy[n];//这里一定要记得+lazy[n]!!!不然下面的修改传不上去
}
int main()
{int tmp,n;cin>>n;for(int i=1;i<n;i++){cin>>tmp;v[tmp].push_back(i);fa[i]=tmp;}for(int i=0;i<n;i++){cin>>a[i];}dfs(0);cout<<ans;return 0;
}

D-生活在树上 SDU2020个人排位赛#3相关推荐

  1. 《树上的男爵》坚持解释不清的理想是疏离,还是自由?

    <树上的男爵>坚持解释不清的理想是疏离,还是自由? 伊塔洛·卡尔维诺,意大利作家,后现代主义派. 卡尔维诺为"寓言式奇幻文学的大师".(评论家赫伯特·密特甘评) 吴正仪 ...

  2. 高考满分作文生成器来了!分分钟批量完成「生活在XX上」,哲学文学物理各种领域任选...

    金磊 贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 如何才能写出一篇浙江省高考满分作文? 就在最近,浙江省作文阅卷大组组长钦点的满分作文火了: 但也备受争议--嚆矢.滥觞.祓魅.婞直. ...

  3. 高考满分作文生成器来了!分分钟批量完成「生活在XX上」,哲学文学物理各种领域任选......

    点击上方"五分钟学算法",选择"星标"公众号 重磅干货,第一时间送达 来自:量子位 如何才能写出一篇浙江省高考满分作文? 就在最近,浙江省作文阅卷大组组长钦点的 ...

  4. 第四届“传智杯”全国大学生IT技能大赛(决赛B组)【题解】

    感觉都是暴力题或者类似原题,就是手速场. 目录 A. 小智的疑惑 B. 三元组 C. 排排队 D. 背单词的小智 F1. 生活在树上(easy version) A. 小智的疑惑 比赛的时候写的KMP ...

  5. 会写高考作文的AI,内含17亿参数、2亿数据、1万行代码

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:学术头条 AI博士笔记系列推荐 周志华<机器学习> ...

  6. 【API进阶之路】破圈,用一个API代替10人内容团队

    自从学习API以后,我用技术手段相继帮助业务部.市场部解决了不少难题,算是从纯研发破圈发展到了业务端.老板召开业务讨论会的时候也会带上我,希望我能从技术角度帮助公司解决业务问题,提升业务的效率和业绩. ...

  7. 中下游大学毕业如何在大城市和各种985大学生厮杀?

     戳蓝字关注「中产之路」 智慧往往跟阅历经验相关,回到5年前,10年前的决策档口,同样一件事,我们大概率能做出更好的选择,同一把牌打出更好的效果. 杭哥您好!我最近很是困惑,需要你帮忙指点一二,在此谢 ...

  8. 写不出满分作文怎么办,GPT-3 来帮你

    作者 | 马超 责编 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 今日,浙江高考满分作文<生活在树上>突然火爆全网,由于这篇文章晦涩难懂,最初评分的老师先给出 39分,但经阅 ...

  9. 给1078万考生批卷的,可能不是个人

    又一年高考开始了,4000余万份高考试卷成绩,还有背后1078万考生的命运,都在各位阅卷组老师手中. 自1978年恢复高考,至今已有43年,高考阅卷抛弃了上世纪传统的手改手核的方式,换上电脑开始无纸化 ...

最新文章

  1. pytest+allure框架搭建(MacOS)
  2. etc/ld.so.conf的使用说明
  3. 【转】!Dynamics 365 Online通过OAuth 2 Client Credential授权(Server-to-Server Authentication)后调用Web API
  4. php文件夹下所有视频播放,PHP使用glob方法遍历文件夹下所有文件
  5. 圆形缓冲区(循环buffer)实现
  6. 什么命令能把Linux搞死机,Linux常见死机原因
  7. 卢伟冰:越是入门机 越应该把使用体验做好
  8. 晨哥真有料丨为什么越优秀的女生越寡?
  9. Atitit java 原生 客户端 native desktop桌面 javafx 浏览器环境 导入jar jfxrt.jar 17M package com.attilax.ui;
  10. 4选1数据选择器 testbench代码编写
  11. 手把手教你使用EndNote X8 详细笔记
  12. 教师录微课及剪辑软件推荐
  13. java实现 蓝桥杯 算法提高 盾神与条状项链
  14. 网络爬虫法即将出台!!!小爬怡情,大爬over
  15. Python量化交易平台开发教程系列4-事件驱动引擎原理和使用
  16. Windows7 UAC 实验
  17. mac 软件卸载后无法安装
  18. Unable to access jar file xxx.jar
  19. RoboCup2d学习——WorldModel
  20. 计算机能力[置顶] 论计算机专业毕业生的人文素养

热门文章

  1. Java互联网架构-Mysql分库分表订单生成系统实战分析
  2. X Desktop Group(扩展窗口管理器提示)
  3. R语言使用quantmod包的getSymbols函数从指定金融数据源获取指定时间段的股票数据、获取欧元兑美元汇率数据、每次请求只能获取500天以内的数据、多了会报错
  4. 算法作业1:倒水问题——三壶谜题
  5. 把有时分秒的时间字符串转换为数字的时间戳的方法。
  6. 嵌入式Linux的RGB触摸屏幕驱动记录
  7. win10卸载photoshop cs6残留ADMUI3.fon字体文件删不掉
  8. Excel中的数据太多单个excel放不下
  9. JS实现-DIV自动居中代码
  10. 华为设备配置灵活QinQ