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

学习离线思想 [CSP-J 2022 山东] 部署

[CSP-J 2022 山东] 部署

今天学习一下离线思想.

所谓离线, 就是等你操作完了后再问你问题, 每一次操作时间复杂度可能很大, 我们可以把操作堆起来最后一遍完成.

我们不妨记录两个内容, 一个是操作一在节点 \(u\) 要求增加的兵, 不妨将其设为 \(f(u)\); 一个是操作二在节点 \(u\) 要求增加的兵, 不妨将其设为 \(g(u)\).

我们首先记录所有操作,

for(int op,x,y;m--;){std::cin>>op>>x>>y;if(op==1)f[x]+=y;else g[x]+=y;
}

我们记录完之后, 就是要统计答案了. 我们不妨先思考操作二该怎么统计.
首先对于节点 \(u\) 而言, 其兵力增加就是 \(g(u)\), 而对于其子节点和祖先而言, 兵力都要增加 \(g(u)\).

void dfs(int u,int fa){ans[u]+=g[u];for(auto v:e[u]){ans[v]+=g[u];//祖先兵力也要增加, 故能跑的点兵力都要增加 g(u)if(v^fa)dfs(v,u);//显然深搜不能回到祖先}
}

我们再思考操作一该怎么统计.
首先对于节点 \(u\) 而言, 其增加的兵力就是 \(f(u)\). 但问题来了, 它的子树都要增加 \(f(u)\). 我们把增加的 \(f(u)\) 向下传即可.

void dfs(int u,int fa,LL down){ans[u]+=f[u]+down;for(auto v:e[u])if(v^fa)dfs(v,u,down+f[u]);
}

最后展示总代码, 当然肯定与上述有部分出入.

#include<iostream>
#include<vector>
#define P(A) A=-~A
#define NUMBER1 1000000
typedef long long LL;
typedef std::pair<int,LL> PLL;
int n;
LL ans[NUMBER1+5];
std::vector<std::vector<int>>e;
PLL c[NUMBER1+5];
void dfs(int u,int fa){ans[u]+=c[u].first+c[u].second;for(auto v:e[u]){ans[v]+=c[u].second;if(v^fa){c[v].first+=c[u].first;	dfs(v,u);}}
}
signed main(){std::cin.tie(nullptr)->std::ios::sync_with_stdio(false);std::cout.tie(nullptr);std::cin>>n;e.assign(n+1,std::vector<int>());for(int i=1;i<=n;P(i))std::cin>>ans[i];for(int i=1,u,v;i<n;P(i)){std::cin>>u>>v;e[u].push_back(v);e[v].push_back(u);}int m,q;std::cin>>m;for(int op,x,y;m--;){std::cin>>op>>x>>y;if(op==1)c[x].first+=y;else c[x].second+=y;}dfs(1,0);std::cin>>q;for(int u;q--;){std::cin>>u;std::cout<<ans[u]<<'\n';}return 0;
}
http://www.jsqmd.com/news/68585/

相关文章:

  • 2025年安阳十大售后完善的AI搜索推广品牌企业排行榜,有实
  • 2025年AI智能营销专业权威公司TOP5推荐,AI智能营销
  • 2025年口碑好的挖掘机斗齿制造企业排行榜,看哪家售后好
  • 2025年度河北橡塑定制行业口碑排名:5家实力企业推荐与评测
  • 2025年知名的防静电珍珠棉/纸箱珍珠棉行业内知名厂家排行榜
  • 深入解析:蓝牙钥匙 第88次 蓝牙钥匙未来发展趋势篇:用户体验未来趋势深度解析
  • 2025年当地高复购光纤熔接机品牌盘点,口碑与实力兼具,无线信号测量仪表/光时域反射仪/通信干扰模拟器/电子对抗设备光纤熔接机企业口碑推荐榜
  • 【玩转全栈】----Django模板语法、请求与响应 - 指南
  • 【玩转全栈】----Django模板语法、请求与响应 - 指南
  • 2025年安阳地区五大靠谱小程序制作开发企业推荐,看哪家信誉
  • 2025年挖掘机斗齿厂推荐:挖掘机斗齿正规供应商深度解析
  • 最新免费降 AI 率网站全测评 20 款工具横向对比(学生党省钱必备)一文说明降低AI率的方法?如何降低AI率?
  • 密码科学与优秀的技术专业毕业设计选题合集 创新型课题 导师喜欢的新颖课题
  • 2025年口碑好的锂电池平板车/履带式运输平板车杭州环保装修
  • Chrome离线版本下载地址
  • 2025年五大抗磨斗齿制造厂家排行榜,耐磨斗齿厂商新测评精选
  • 2025年知名的大连全屋定制家具用户满意度榜
  • 领航级智能工厂!一文拆解格力电器如何成就智能制造的国家名片?
  • 守护金融安全,深圳财付通小额贷款服务有限公司在行动:科技与教育并重
  • 酵母蛋白:低嘌呤优质蛋白的理想之选,数据见证其营养优势
  • 2025年比较好的航拍素材飞手接单/飞手接单平台用户口碑排行榜
  • 2025十大益生菌品牌榜出炉!护胃养肠选这些准没错
  • 助力小微梦想:四川佳物小贷与得物的金融布局探索
  • 靠谱的商标转让平台有哪些?2025热门商标购买平台推荐盘点
  • 【Java基础】(二)面向对象 - berlin
  • 2025年质量好的杭州别墅装修/杭州别墅大宅装修精品推荐榜
  • 2025最新免费降AI率神器盘点:11款中英文工具横评,降AI率有效的方法是什么?
  • 2025年安阳靠谱的网络推广公司排行榜,本地企业获客优选服务
  • 2025年安阳靠谱的网络推广公司排行榜,本地企业获客优选服务
  • 2025年五大口碑好的GEO推广公司排行榜,看哪家服务性价比