首页 > 其他分享 >P9771 HUSTFC 2023 排列排序问题 题解

P9771 HUSTFC 2023 排列排序问题 题解

时间:2023-10-25 13:26:04浏览次数:34  
标签:ch int 题解 P9771 ret 排列 2023 序列 反转

Question

给出一个 \(N\) 个元素的排序 \(a\),我们可以对排列进行一些操作

  • 将这个排列切割成若干个序列
  • 将其中一些序列翻转
  • 将这些序列连接起来得到一个新的排列

需要让最后的排列有序

Solution

这个题的描述有点小问题

理解应该是切一次,然后再反转合并,不可能会先合并再切再反转

然后考虑反转,如果一段序列是连续的,那么反转也是连续的

如果 \(a_i\) 和 \(a_{i+1}\) 的差值大于 \(1\) 那么仅仅靠反转操作是无法让序列边成有序的,所以这个地方必须切一刀

对于切割后的序列,通过多次反转和合并肯定能让序列保持有序

Code

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+5;
int N,a[maxn],ans;
inline int read(){
    int ret=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-f;ch=getchar();}
    while(ch<='9'&&ch>='0')ret=ret*10+ch-'0',ch=getchar();
    return ret*f;
}
int main(){
    N=read();
    for(int i=1;i<=N;i++){
        a[i]=read();
    }
    for(int i=1;i<N;i++){
        if(abs(a[i]-a[i+1])!=1) ans++;
    }
    printf("%d\n",ans);
    return 0;
}

标签:ch,int,题解,P9771,ret,排列,2023,序列,反转
From: https://www.cnblogs.com/martian148/p/17786919.html

相关文章

  • 文件上传-伪协议2023/10/25
     开始可以看到访问upload文件会自动补全后缀,然后上传一张1.jpg文件可以上传成功但是没什么用,还可以题目说还可以上传压缩包,那么可以利用phar://协议和zip://协议phar://协议phar:///tmp/zip.jpg/1.php/tmp/zip.jpg 表示要解析的压缩包,与扩展名无关,如只允许abc格式文件上......
  • P9744 「KDOI-06-S」消除序列 题解
    @目录DesciptionSolutionCodeDesciption给定一个长度为\(i\)的序列\(v_1,v_2,\dots,v_n\),初始时所有元素的值都为\(1\)。对于下标\(i\)有\(3\)种操作:将\(v_1,v_2,\dots,v_i\)的值变为\(0\),费用是\(a_i\)。将\(v_i\)的值变为\(0\),费用是\(b_i\)。将\(v_i\)......
  • ”向前“ CSP2023总结
    CSP2023结束了。我人生中第一场,也是最后一场CSP-S也从此落幕。曾想过很多自己的结局。从挂初赛,过不了复赛,到打不了NOIP。2022,哀其不幸怒其不争。今年走到了NOIP,而且女赛。好好努力吧。前面的比赛,压线过。而NOIP,需要突破。激进的态度就是竞赛本身。......
  • Meta Hacker Cup 2023 Round 1 题解
    ProblemA:HereComesSantaClaus给一个数列,要求分成若干组,要求每组至少2个数,使得所有组中位数的最大值与最小值之差尽量大,求这个值。#include<bits/stdc++.h>usingnamespacestd;#defineFor(i,n)for(inti=1;i<=n;i++)#defineFork(i,k,n)for(inti=k;i<=n;i++)#define......
  • 在Java中,如果一个日期是字符串类型的"2023-01",怎样获取前一个月
    在Java中,如果一个日期是字符串类型的"2023-01",你可以使用java.time包中的类来处理日期。以下是一个示例代码,演示如何获取前一个月的字符串类型的月份:importjava.time.LocalDate;importjava.time.format.DateTimeFormatter;publicclassMain{publicstaticvoidmain(St......
  • pytest运行警告问题解决:DeprecationWarning: pkg_resources is deprecated as an API
    前言最近在运行pytest的时候,经常出现这个警告DeprecationWarning:pkg_resourcesisdeprecatedasanAPISeehttps://setuptools.pypa.io/en/latest/pkg_resources.htmlfrompkg_resourcesimportiter_entry_points从警告上看是方法被弃用,肯定是因为新版弃用了旧版的语法。遇......
  • szfpga Lattice高速下载器HW-USBN-2B 常见问题解答
      .产品特点     1).支持windows7,Windows10操作系统,两个操作系统非常稳定不断线。  2).支持JTAG模式,速度快,最高30Mb/s,调试serdescore,不会像hw-usbn-2a出现错误。如这种错误Error:failedtosetcablepor(cable:USBport:EzUSB-0error:-1)  3). ......
  • CF1854E Games Bundles 题解
    乱搞题设个\(dp[i]\)表示和为\(i\)的子序列个数,那么转移是容易的,\(dp[j]+=dp[j-i]\),然后就判下\(dp[60]+dp[60-i]\)是否大于\(m\),发现这样子搞对于比较大的数可能达不到\(m\)的限制,因为这样子转移,默认的是一个数只选一次,但是我们可以重复选,这启发我们需要设定一个值......
  • centos7安装Docker(2023/10/24)
    centos7安装Docker(2023/10/24)一、安装前必读系统配置方面,这里使用的是Centos7Linux内核:官方建议3.10以上。注意:本文的命令使用的是root用户登录执行,非root用户所有命令前面要加sudo1.查看当前的内核版本1uname-r如图为3.10,满足条件。 2.使用root权限更......
  • 题解 CF903G【Yet Another Maxflow Problem】
    加边\(A_n\stackrel{0}{\to}A_{n+1}\),\(B_0\stackrel{0}{\to}B_1\)。称形如\(A_i\toA_{i+1}\)的边为左部边,形如\(B_j\toB_{j+1}\)的边为右部边,形如\(A_i\toB_j\)的边为中间边。根据最大流最小割定理,将最大流问题转化为最小割问题求解。显然,至少存在一组最小割,包含恰好......