t
a
g
:
tag :
tag:限制交换
数学分析
排序
*1200
逆向思维
传送门 :
题意 : 给定你一个数组和一个限制 x x x,询问是否可以通过有限次操作使得数组变为非降序
操作 : 选择任意两个下标 i , j i,j i,j当且仅当 ∣ i − j ∣ > = x |i-j|>=x ∣i−j∣>=x的时候才可以进行交换
思路 :
本题还可以使用数学归纳法进行证明分析,奈何数学不好
我们对原数组进行一次复制,然后将复制数组进行排序
显然排序后的数组 和 原数组 不相同的地方都是需要进行交换的
我们可以反过来进行思考,考虑不能交换的位置, 即 i + x > n ∣ ∣ i − x < 1 i+x>n||i-xn∣∣i−x>n>>x; for(int i = 1;i>a[i]; b[i] = a[i]; } sort(b+1,b+1+n); for(int i = 1;i n && i - x
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?