POJ 1833 排列的应用

来源:互联网 发布:央视电视直播软件apk 编辑:程序博客网 时间:2024/06/01 08:35

首先,从右向左搜出一个满足 A[I-1]<A[I]的I 

 

 然后,从I开始向右搜一个大于A[I-1]且最小的数A[J]

  之后,交换A[I-1]和A[J](很多其他的文章都说是A[I]与A[J]交换,那是错的,万万不可信(像某天真的小牛......))

   从将[I,N]这个区间快拍即可。

 

将以上步骤重复K次,输出排列即可。

 

 

 

要说证明吗,大家应该可以想到范浩强的石子合并算法,和这题一样,抽象模型,模拟即可。

 具体就不说了,很简单,自己找个数据算一下即可。

 

 

 

 

 

 

 

 

 

原创粉丝点击