news 2026/5/1 6:08:59

ABC round 438 E st倍增

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ABC round 438 E st倍增

Problem Statement

There are N people and N buckets. Both the people and buckets are numbered 1,2,…,N.

Initially, person i holds only bucket i, and bucket i is empty.

From now on, the following operation will be performed 109 times:

  • For i=1,2,…,Nsimultaneously, person i adds i units of water to each of the buckets they are holding and passes those buckets to person Ai​.

Here, there is no limit on the amount of water that can be put in a bucket.

For i=1,2,…,Q, answer the following queries:

  • Find the amount of water in bucket Bi​ immediately after the Ti​-th operation.

问题陈述

  • 有 N 人和 N 桶。人和水桶的编号都是 1,2,…,N 。

    最初,人 i 只持有水桶 i ,而水桶 i 是空的。

    从现在起,将执行以下操作 109 次:

  • 对于 i=1,2,…,N同时*, i 将 i 个单位的水添加到他们手中的每个水桶中,并将这些水桶递给 Ai​ 。
  • 在这里,水桶中的水量没有限制。

    对于 i=1,2,…,Q ,请回答下列问题:

  • 求 Ti​ /-操作后,水桶 Bi​ 中的水量。

Input

The input is given from Standard Input in the following format:

N Q A1​ A2​ … AN​ T1​ B1​ T2​ B2​ ⋮ TQ​ BQ​

Output

Output Q lines. The i-th line should contain the answer to the i-th query.

我们设st[i][j]表示i 拿到水桶后 经过1<<j时间 水桶传递给谁 sum[i][j] 表示从i拿到某个水桶后 1<<j这个时间后 水桶的增加量 然后进行查询即可

#include <bits/stdc++.h> using namespace std; typedef long long ll; const int N=2e5+5; ll sum[N][30],st[N][30]; int n,q; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>q; for(int i=1;i<=n;i++){ cin>>st[i][0]; sum[i][0]=i; } for(int i=1;i<30;i++){ for(int j=1;j<=n;j++){ st[j][i]=st[st[j][i-1]][i-1]; sum[j][i]=sum[st[j][i-1]][i-1]+sum[j][i-1]; } } while(q--){ ll res=0; ll t,b; cin>>t>>b; for(int i=0;i<30;i++){ if(t&(1LL<<i)){ res+=sum[b][i]; b=st[b][i]; } } cout<<res<<'\n'; } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 19:43:09

YOLO模型冷启动缓存预热:提升首请求响应速度

YOLO模型冷启动缓存预热&#xff1a;提升首请求响应速度 在智能制造工厂的质检线上&#xff0c;摄像头以每秒30帧的速度扫描产品缺陷。某天系统重启后&#xff0c;第一帧图像的检测耗时从正常的50毫秒飙升至320毫秒——这一瞬间延迟直接导致流水线误判了三件合格品为不良品。类…

作者头像 李华
网站建设 2026/5/1 3:47:10

windows10帐号的类型和权限

核心概念&#xff1a;两种主要账户类型 Windows 10 主要将账户分为两种类型&#xff1a;管理员 和标准用户。它们的根本区别在于对系统设置的修改权限。 1. 管理员 这是权限最高的账户类型&#xff0c;拥有对计算机的完全控制权。 主要权限包括&#xff1a; 安装和卸载软件&…

作者头像 李华
网站建设 2026/4/29 11:26:53

永磁同步电机无传感器控制之高频脉振注入法探索

永磁同步电机无传感&#xff0c;高频脉振注入&#xff0c;采用如图观测器&#xff0c;结果如图&#xff0c;可以跟踪上给定在永磁同步电机&#xff08;PMSM&#xff09;的控制领域&#xff0c;无传感器控制技术一直是研究热点。它旨在不依赖物理传感器的情况下&#xff0c;精确…

作者头像 李华
网站建设 2026/4/24 8:44:17

基于Cruise的P2并联混动仿真模型探索

基于cruise的混动仿真&#xff0c;P2并联混动仿真模型可实现并联混动汽车动力性经济性仿真 1.模型通过cruise/simulink联合仿真&#xff0c;策略通过MATLAB/Simulink搭建逻辑门限控制策略。 模式包括纯电&#xff0c;发动机直驱&#xff0c;行车充电&#xff0c;混合驱动&#…

作者头像 李华
网站建设 2026/4/23 13:05:52

收藏必备!小白也能看懂的AI Agent记忆系统完全指南

本文详细介绍了AI Agent记忆系统的架构与实现&#xff0c;包括短期和长期记忆两大核心组件。解析了记忆系统如何解决LLM上下文限制和token成本问题&#xff0c;介绍了短期记忆的上下文工程策略和长期记忆的技术架构。同时对比了各Agent框架的记忆实现方式和行业发展趋势&#x…

作者头像 李华
网站建设 2026/4/21 20:10:22

大模型学习全攻略:从NLP基础到RAG应用,助你成为AI专家(收藏必看)_大模型零基础教程非常详细

本文介绍了大模型的基本概念及完整学习路径&#xff0c;从Python基础、NLP知识到GPT API调用、模型微调和RAG应用。文章详细列出了各阶段学习目标、要求和参考资源&#xff0c;提供了丰富的学习资料&#xff0c;包括视频教程、技术文档和面试题合集&#xff0c;帮助小白和程序员…

作者头像 李华