当前位置:网站首页>【集训DAY5】快速排序【模拟】【数学】
【集训DAY5】快速排序【模拟】【数学】
2022-08-09 22:35:00 【VL——MOESR】

思路:
我们直接倒着来判断就行了
#include<iostream>
#include<cstdio>
using namespace std;
const int MAXN = 50000;
int n, k;
int a[MAXN], ans[MAXN], id[MAXN];
int main() {
scanf("%d%d", &n, &k);
for(int i = 1; i <= k; i ++) scanf("%d", &a[i]);
for(int i = 1; i <= n; i ++) id[i] = i;
int l = 1, r = n, wh = 1;
for(int i = 1; i <= n; i ++) {
int x = a[(i - 1) % k + 1] % (n - i + 1) + l;
if(id[x] == wh) {
ans[id[x]] = l;
swap(id[x], id[l]);
l ++;
while(ans[wh]) wh ++;
}
else
{
ans[id[x]] = r;
swap(id[x], id[l]);
swap(id[l], id[r]);
r --;
}
}
for(int i = 1; i <= n; i ++) printf("%d\n", ans[i]);
return 0;
}
边栏推荐
猜你喜欢

完全背包理论

IT传奇人物菲尔德的转型经验教训及给CIO的建议

全面解析FPGA基础知识

什么是平面文件数据库? 如何导入多种格式的文件:DSV、JSON、XML?

Technology feast!Huayun Data brings six topics to OpenInfra Days China

iNFTnews | 迪士尼如何布局Web3

伦敦银行情中短线的支撑和阻力位

数据库优化 | 干货

Has your phone ever been monitored?

Gartner's global integrated system market data tracking, hyperconverged market growth rate is the first
随机推荐
【实用工具系列】MathCAD入门安装及快速上手使用教程
[Cloud Native] This article explains how to add Tencent Crane to Kubevela addon
Click: 377. Combined Sum Ⅳ
2022/8/9 考试总结
【mysql】查询今天9点
String类常用方法
多线程是同时执行多个线程的吗
金仓数据库 KingbaseGIS 使用手册(6.3. 几何对象创建函数)
直播平台怎么搭建,原生js实现编辑器撤消/恢复功能
HStreamDB v0.9 发布:分区模型扩展,支持与外部系统集成
What are the Shenzhen fortress machine manufacturers?Which one do you recommend?
Qt 之 QDateEdit 和 QTimeEdit
2022年最新《谷粒学院开发教程》:10 - 前台支付模块
如何正则匹配乱码?
为什么刀具数据库无法打开?
Sqlserver限制账户在哪些ip下才可以访问数据库
JS基础笔记-关于对象
金仓数据库 KingbaseGIS 使用手册(6.5. 几何对象编辑函数)
matplotlib散点图颜色分组图例
ElasticSearcch集群