题解:ABC013D 阿弥陀

先考虑 \(D=1\),明显可以 \(O(M)\) 模拟预处理出在最上面的每个位置往下走会走到什么位置,之后每次就可以 \(O(1)\) 查询了。

\(D>1\) 时,可以依赖预处理的数据每次 \(O(D)\) 暴力查询。又注意到每次对所有位置进行的变换操作是一样的,可以倍增后用类似快速幂的方法优化到 \(O(\log D)\)

时间复杂度 \(O(M+N\log D)\)

核心代码:

//By: OIer rui_er
#define rep(x, y, z) for(int x = (y); x <= (z); ++x)
#define per(x, y, z) for(int x = (y); x >= (z); --x)const int N = 2e5 + 5;int n, m, d, a[N], p[N], f[30][N];int main() {ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);cin >> n >> m >> d;rep(i, 1, m) cin >> a[i];rep(i, 1, n) p[i] = i;rep(i, 1, m) swap(p[a[i]], p[a[i] + 1]);rep(i, 1, n) f[0][p[i]] = i;rep(j, 1, 29) rep(i, 1, n) f[j][i] = f[j - 1][f[j - 1][i]];rep(i, 1, n) {int u = i;per(j, 29, 0) if((d >> j) & 1) u = f[j][u];cout << u << endl;}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/834484.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IPEX几代接口的区别

IPEX共分五代,简单判别IPEX接口是几代的方法是测量直径。 IPEX 1代 高度小于3.0mm,端子口径φ2.0 IPEX 2代 高度小于2.1mm,端子口径φ2.0 IPEX 3代 高度小于1.6mm,端子口径φ1.4 IPEX 4代 高度小于1.7mm,端子口径φ1.5 IPEX 5代 高度小于1.3mm,…

vue3:computed

扫码或者点击文字后台提问 原文: https://mp.weixin.qq.com/s/36dd--oj6jmkZblfJRh4iw computed 支持选项式写法 和 函数式写法 1.选项式写法 支持一个对象传入get函数以及set函数自定义操作2.函数式写法 只能支持一个getter函数不允许修改值的<template><div>&l…

2024 腾讯云双十一省钱攻略:如何选购服务器、操作指南

一、前言 每年的双十一,都是一个 “剁手狂欢” 的好时机,不仅是购物平台,各大云服务商也会在此期间推一、前言 每年的双十一,都是一个 “剁手狂欢” 的好时机,不仅是购物平台,各大云服务商也会在此期间推出力度空前的优惠活动。今年,我特别关注了腾讯云的双十一活动,发…

阿里云域名解析

第一步: 在域名解析这里修改记录类型是A 的,主机记录是@ 和www的即可。 第二步: 重新申请https证书,然后配置nginx 的配置文件https证实,然后重新启动nginx 命令: ./nginx -s reload

Codeforces Round 987 (Div. 2)

Codeforces Round 987 (Div. 2) 总结 A 常见的套路,将一个序列变为不下降序列所需要改变的值的最小数量,考虑最大能保留多少个,显然是求最长上升子序列,而这题给出的 \(a\) 序列保证不上升,所以只需要考虑相同长度的一段。 #include <iostream> #include <cstdio…

利用PyTorch的三元组损失Hard Triplet Loss进行嵌入模型微调

本文介绍如何使用 PyTorch 和三元组边缘损失 (Triplet Margin Loss) 微调嵌入模型,并重点阐述实现细节和代码示例。三元组损失是一种对比损失函数,通过缩小锚点与正例间的距离,同时扩大锚点与负例间的距离来优化模型。 https://avoid.overfit.cn/post/4b8a8e91f3274f8ca41b…

二分查找 理论 例题

递归代码int binary_search(int arr[],int left,int right,int key){if (left>right){//区间无效return -1;}int mid=left+(right-left)/2; //直接平均可能会溢出if(arr[mid]==key){return mid;}else if(key>arr[mid]){return binary_search(arr,mid+1,right,key); //右半…

统信 UOS 操作系统介绍

一、前言 近年来,软件国产化的呼声越来越高,而操作系统国产化是软件国产化过程中核心的一环,自然也不例外。目前国产操作系统有 统信UOS、麒麟(Kylin) 和 openEuler 等,本篇文章为大家介绍 统信UOS 操作系统,主要包括统信UOS 简介 版本介绍 选择建议与系统展示 总结二、…

经营分析是什么

在当今快速变化的商业环境中,大厂们越来越重视经营分析,这不仅是对企业经营状况的全面诊断,更是实现效益最大化的关键。近期一连有两个大厂(短视频、游戏)的朋友来聊经营分析,着实让我好奇了一下。经营分析这个东西,以往都是传统国企做得多,咋连他们也开始纠结了。 聊完…

2024-2025-1 20241318 《计算机基础与程序设计》第八周学习总结

这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP(如[2024-2025-1-计算机基础与程序设计])这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08这个作业的目标 加入云班课,参考本周学习资源自学教材 计算机科学概论(第七…

零基础入门Hadoop:IntelliJ IDEA远程连接服务器中Hadoop运行WordCount

今天我们来聊一聊大数据,作为一个Hadoop的新手,我也并不敢深入探讨复杂的底层原理。因此,这篇文章的重点更多是从实际操作和入门实践的角度出发,带领大家一起了解大数据应用的基本过程。我们将通过一个经典的案例——WordCounter,来帮助大家入门。简单来说,这个案例的目标…

NOIP2024 前集训:NOIP2024加赛 5

前言music 《浮光》看指尖拨响蝴蝶 扇动一场离别我推开无声岁月 续梦一页你我只是打个照面 可曾有过誓约走进熟悉却 陌生的思念啊……啊……你的眼眸 装满了时间你的身后 拥故事成篇此生如梦 愿细数流年与你同写 沧海桑田浮光掠影 重山彩云间你的伏线 穿越千百年人生不过 恍惚三…