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

P11894 「LAOI-9」Update

题意十分甚至有九分的简单,但是这个东西似乎是不好做的,我想不出来任何已知的 log 数据结构维护它。

突然发现这个东西增长是缓慢的,我于是乎写了个程序验证,最后发现答案最多是 1e6 左右的一个数。

果然有的时候观察答案上下界有奇效。

我们发现可以使用差分转化为对于每个点跳多少次。

因为这个跳的值域是很小的,而且有 2 次幂的可划分性,所以我们上倍增就行了。

代码↓

点击查看代码
#include <bits/stdc++.h>
using namespace std;
const int MN=2e6+216;
int lg[MN], jump[MN][22];
int n, m, d[MN], a[MN];
int main(){ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);lg[0]=-1; for(int i=1; i<MN; ++i) lg[i]=lg[i>>1]+1;cin>>n>>m; for(int i=1; i<=n; ++i) cin>>a[i];for(int i=1; i<MN; ++i) jump[i][0]=i+lg[i];for(int j=1; j<=21; ++j){for(int i=1; i<MN; ++i){jump[i][j]=jump[jump[i][j-1]][j-1];}}for(int i=1; i<=m; ++i){int l, r; cin>>l>>r;d[l]++; d[r+1]--;}for(int i=1; i<=n; ++i) d[i]+=d[i-1];for(int i=1; i<=n; ++i){int res=a[i];for(int j=0; j<=21; ++j){if(d[i]&(1<<j)){res=jump[res][j];}}cout<<res<<' ';}return 0;
}
http://www.hskmm.com/?act=detail&tid=31823

相关文章:

  • ZR 2025 NOIP 二十连测 Day 3
  • 读书报告
  • P14223 [ICPC 2024 Kunming I] 乐观向上
  • 别再用均值填充了!MICE算法教你正确处理缺失数据
  • 非主流网站程序IndexNow添加方法
  • 卷积神经网络视频读书报告
  • C 语言 - 内存操作函数以及字符串操作函数解析
  • 以*this返回局部对象的两种情况
  • 2025.10.15
  • 软件开发流程
  • Kali 自定义ISO镜像
  • 2025秋_12
  • 10月15日
  • 第七章:C控制语句:分支和跳转
  • 感知节点@5@ ESP32+arduino+ 第三个程序FreeRTOS 上 LED灯显示 和 串口打印ASCII表
  • pytorch实训题
  • 数据库基础知识1
  • 近期模拟赛汇总
  • 实用指南:部署Tomcat11.0.11(Kylinv10sp3、Ubuntu2204、Rocky9.3)
  • Hbase的安装与配置
  • 【Azure App Service】App Service是否支持PHP的版本选择呢?
  • OAuth/OpenID Connect 渗透测试完全指南
  • Problem K. 置换环(The ICPC online 2025)思路解析 - tsunchi
  • Go 语言和 Tesseract OCR 识别英文数字验证码
  • Markdown转换为Word:Pandoc模板使用指南 - 实践
  • 2025年10月小程序开发公司最新推荐排行榜,小程序定制开发,电商小程序开发,预订服务小程序开发,活动报名小程序开发!
  • 复习CSharp
  • Rust 和 Tesseract OCR 实现英文数字验证码识别
  • 数据结构-循环队列
  • C语言学习——键盘录入