当前位置: 首页 > news >正文

【题解】Luogu P11855 [CSP-J 2022 山东] 部署

思路

每次操作都 DFS 一遍树,时间复杂度 \(O(nm)\)。期望得分 \(30\) pts。

但我们发现增兵是可以叠加的,那我们记录每个点 1、2 操作总共增了多少兵,最后离线 DFS 一遍即可,时间复杂度 \(O(n)\)。期望得分 \(100\) pts。

考虑强制在线怎么做:注意到 \(u\) 的子树的 DFS 序为从 \(u\) 开始连续子树大小个点,与 \(u\) 直接相连的点的 BFS 序即从 \(u\) 开始连续儿子数量个点再加上父节点。预处理出每个结点的 DFS 序、BFS 序和父结点,开两个线段树分别维护两个序,操作 2 再单点修改父结点即可。每次查询返回两个树上单点的和。时间复杂度 \(O(n+(m+q)\log n)\),线段树常数过大,期望得分 \(80\) pts,而题目只需单点查询,所以可以使用树状数组维护。

实现

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e6+10;
int n,m,q;
int a[N],h[N],tot;
int b1[N],b2[N],ans[N];
struct Node{int to,nxt;
}e[2*N];
void Add(int u,int v){tot++;e[tot].to=v;e[tot].nxt=h[u];h[u]=tot;
}
void dfs(int u,int fa,int p){ans[u]+=p+b2[u];ans[fa]+=b2[u];for(int i=h[u];i;i=e[i].nxt){int v=e[i].to;if(v==fa) continue;dfs(v,u,p+b1[v]);ans[v]+=b2[u];}
}
signed main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>n;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n-1;i++){int u,v;cin>>u>>v;Add(u,v),Add(v,u);}cin>>m;for(int i=1;i<=m;i++){int op,x,y;cin>>op>>x>>y;if(op==1) b1[x]+=y;else b2[x]+=y;}dfs(1,0,b1[1]);cin>>q;for(int i=1;i<=q;i++){int x;cin>>x;cout<<ans[x]+a[x]<<'\n';}return 0;
}
http://www.gsyq.cn/news/98874.html

相关文章:

  • 2025年周易起名公司推荐:五大口碑起名机构综合对比解析 - 品牌推荐
  • py每日spider案例之惠农wang之加密参数位置入口
  • 58、Ubuntu实用工具、测试参与及Perl编程入门指南
  • 2025年宝宝取名公司推荐:五大口碑机构综合对比分析报告 - 品牌推荐
  • 跳出 “聊天工具” 认知!虎贲等考 AI:学术苦旅的逆行者,知识闭环的构建者
  • 2025年宝宝取名公司推荐:权威榜单TOP5机构深度解析 - 品牌推荐
  • 【单片机毕业设计】【mcugc-mcu915】基于单片机的婴儿床智能监护系统
  • 无缝钢管供应商如何选择更靠谱?2025年年终最新供应商评估方法论及1家高匹配度企业推荐! - 品牌推荐
  • 2025年取名公司推荐:2025年权威取名机构榜单深度解析 - 品牌推荐
  • Spring Boot + Spring AI快捷体验
  • IDE透明视频播放插件:提升编程体验的多媒体解决方案
  • 5、字符串、正则表达式与文件系统操作实践
  • JoyAgent-JDGenie系统流程图
  • 2025年市面上口碑好的被动式窗供应商口碑推荐,高端定制门窗/智能门窗/极简门窗/全屋门窗/被动式窗生产厂家推荐榜单 - 品牌推荐师
  • 57、操作系统中的流与进程间通信技术详解
  • 如何选择最适合的呼叫中心系统?2025年年终最新技术趋势解读与5家实力服务商推荐! - 品牌推荐
  • Java---小球移动案例(附代码)
  • 7、算法与数据结构:多种问题的解决方案
  • 8、C++算法与数据结构实用案例解析
  • 不需要下载夸克直链网盘下载-在线免费工具
  • 设备预测性维护技术拆解与落地实战
  • 51、STREAMS 调度与流头操作详解
  • Windows系统win32k.sys文件 缺少下载文件
  • 65、文件管理子系统与网络协议通信概述
  • openpnp - Smoothieware - MKS SGEN_L V1.0 + JLink-edu-mini 连接测试
  • Proceed 英文单词学习
  • 【30天从零学Python】重要补充四、检测有向环 - Kahn算法
  • 7层深度的招商引资,进入财情共创时代:价值倍增的新质生产力,实现高质量发展
  • 贪心算法简介
  • 2025年回弹仪十大品牌实力盘点,谁主沉浮?裂缝测宽仪/一体式楼板测厚仪/填土密实度检测仪/钢筋位置测定仪/高强回弹仪回弹仪品牌哪家好 - 品牌推荐师