洛谷 P3258 松鼠的新家 题解
题面
貌似这道题暴力加玄学优化就可以AC?
下面是正解:
1.树链剖分:
我们在u到v之间都放一个糖果,可以将松鼠它家u到v的糖果数都加1。每一次将a[i]到a[i+1] (a数组是访问顺序)的节点加1,可以用树链剖分来维护。查询只需要查每个点的权值就可以了。(貌似该题比树剖板子还板子?)
2.树上查分:重点来了!(敲黑板!!!)
本题的题意便是统计一条路径上所有点的经过次数。
已知原数组a[i]表示每个点的点权,设差分数组s[i]=a[i]-sum(a[j])(j为i的每个直接相连的儿子);
叶子节点的b[i]恰好为该点点权a[i];
对于任意一个节点k,a[k]=以k为根节点的子树中所有s[i]之和。
设差分数组s[],对于每次操作,
s[u]++;
s[v]++;
s[LCA(u,v)]--;
s[fa[LCA(u,v)]]--;
这是点权的情况,如果是边权,只需要把一个点到父亲的边权赋给自己当作点权,
然后当作点权的情况做就好了,细节需要处理一下。
转载于:https://www.cnblogs.com/kamimxr/p/11279041.html
洛谷 P3258 松鼠的新家 题解相关推荐
- 洛谷P3258松鼠的新家
题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在"树"上.松 ...
- 洛谷3258 松鼠的新家
题目大意 按给定顺序遍历一棵n个节点的树,求每个节点经过的次数.(2≤n≤3×1052\le n \le3\times10^52≤n≤3×105) 知识储备 树上差分: 首先回顾差分.差分就是将区间的 ...
- P3258 [JLOI2014] 松鼠的新家 题解
P3258 [JLOI2014] 松鼠的新家 题解 洛谷 P3258 题目 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有 nnn 个房间,并且有 nnn−1 根树枝连接,每个房间都可以相互到达,且 ...
- 洛谷 P3258 [JLOI2014]松鼠的新家 树上差分
缘起 [1]中我们学习了树上差分,并且a了一个裸的点差分. 现在继续树上差分~ 洛谷 P3258 [JLOI2014]松鼠的新家 分析 题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房 ...
- 洛谷 P3258 [JLOI2014]松鼠的新家 解题报告
P3258 [JLOI2014]松鼠的新家 题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他 ...
- 洛谷 P3258 [JLOI2014]松鼠的新家
题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在"树"上. ...
- [JLOI2014]松鼠的新家 洛谷P3258
题目链接 题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在"树&quo ...
- 洛谷P3258 [JLOI2014]松鼠的新家
题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的.天哪,他居然真的住在"树"上. ...
- P3258 [JLOI2014]松鼠的新家
文章目录 题意: 题解: 树上差分 代码: 树链剖分 代码: P3258 [JLOI2014]松鼠的新家 题意: n个点,n-1条边,给出每个点的拜访顺序,问每个点经过几次(最后一次移动不算拜访) 题 ...
最新文章
- 超详细教你10分钟搭建一个高端的B2B2C模式的综合性商城|含来客推V3源码下载
- java关键字--static--应用场景、特点和注意事项
- CSS3属性之text-overflow:ellipsis,指定多行文本中任意一行显示...
- vue2.0 练习项目-外卖APP(2)
- 泛娱乐迎来善变的95后Z世代 技术从拐杖变为核心引擎
- 开源GIS库GDAL/GEOS在Windows下的编译与 Codeblocks配置
- [Python]使用 lambda 函数
- Machine Learning——octave矩阵操作(2)——DAY3
- 快速特征点直方图描述器(FPFH)
- 编程语言_Java方法参数...是什么意思_面试题008
- 链表根据主元切分成3段
- Android仿人人客户端(v5.7.1)——Auth授权认证(整理流程,重构代码)
- php中获取memcache所有key,Memcache查看列出所有key方法及memkeys实时查看key使用情况...
- 软件设计师(中级)历年真题与知识点总结(更新中...)
- 超市条码扫描枪使用前如何进行参数设置
- C++派生类与继承(超详细)
- WGS84转GCj02
- 自动化测试工程师,自动化测试项目老是误报?怎么解决?(详细总结)
- [编程实例]360漏洞修复(绿色版)制作器 v1.0
- Frequent Pattern Mining(频繁模式挖掘) - Aprior挖掘算法
热门文章
- GIS BigBook1 —— 《地理信息系统与科学》
- 基于STM32F103的家庭火灾报警及灭火系统(初步)
- 滤了asa,cer,cdx,php,aspx等脚本类型的上传情况下添加一个ashx的上传类型
- C++格式化输入输出控制----iomanip
- 关于定制开发ERP的哪些事,5分钟看懂ERP定制开发关键节点
- 学人工智能需要哪些准备?AI基础技能
- Chinese Fear More Historic Destruction
- 西南大学计算机科学与技术专业在哪个校区,西南大学有几个校区及校区地址 哪个校区最好...
- Python_Task05:字典、集合和序列
- [leetcode javascript]周赛155:5197. 最小绝对差(没有做完