Codeforces Round #275 (Div. 2) C – Diverse Permutation (构造)[通俗易懂]

Codeforces Round #275 (Div. 2) C – Diverse Permutation (构造)

大家好,又见面了,我是全栈君。

题目链接:Codeforces Round #275 (Div. 2) C – Diverse Permutation

题意:一串排列1~n。求一个序列当中相邻两项差的绝对值的个数(指绝对值不同的个数)为k个。求序列、

思路:1~k+1。构造序列前段,之后直接输出剩下的数。前面的构造能够依据,两项差的绝对值为1~k构造。

AC代码:

#include <stdio.h>
#include <string.h>
int ans[200010];
bool vis[100010];
int n,mark;
int iabs(int a)
{
    if(a<0) return -a;
    return a;
}
int main()
{
    int i,cnt,k;
    while(scanf("%d%d",&n,&k)!=EOF)
    {
        int x,y;
        memset(vis,0,sizeof vis);
        ans[0]=1;
        x=1,y=k+1;
        cnt=k;
        for(i=1; i<=k; i++,cnt--)
        {
            int temp=ans[i-1]+cnt;
            if(temp>k+1)
                temp=ans[i-1]-cnt;
            else if(vis[temp])
                temp=ans[i-1]-cnt;
            ans[i]=temp;
            vis[temp]=true;
        }
        for(i=k+1; i<n; i++)
            ans[i]=i+1;
        for(i=0; i<n-1; i++)
            printf("%d ",ans[i]);
        printf("%d\n",ans[i]);
    }
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116287.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机二级选择题——数据结构与算法[通俗易懂]

    计算机二级选择题——数据结构与算法[通俗易懂]按照自己的理解写的解题思路,如有错误希望指正。1.算法的复杂度: ①时间复杂度:执行算法所需的计算工作量(又叫:基本运算次数) ②空间复杂度:执行算法所需的内存 它们是没有任何关系的!!!2.求二叉树序列类题目 要点:前序—根左右 中序—左根右 后序—左右根 例1:已知前序ABCDE,中序BCADE,求后序;同类型,已知任意两个求第三个 解题思路: 由前序知道A是根,结合中序,CB是左子树,DE…

    2022年8月18日
    9
  • 【已解决】【V1.0版本】如何彻底关闭Win10的自动更新并且随时可以恢复?

    【已解决】【V1.0版本】如何彻底关闭Win10的自动更新并且随时可以恢复?更新失败的问题我已经参考这篇文章解决了:【亲测管用】Windows10无法完成更新,正在撤销更改怎么办?精简脚本,在不删除服务的情况下阻止自动更新:【亲测管用】如何使用脚本关闭Win10自动更新服务并阻止其自动启动?如何关闭Windows10的自动更新真的是个大难题.当你遇到Windows更新包安装失败,却又被强制每天重新安装并且失败(安装失败有的时候得重启好几次),望着一遍又一…

    2022年6月4日
    38
  • Java JDK8下载 (jdk-8u251-windows-x64和jdk-8u271-linux-x64.tar)

    Java JDK8下载 (jdk-8u251-windows-x64和jdk-8u271-linux-x64.tar)jdk-8u251-windows-x64和jdk-8u271-linux-x64.tar链接:https://pan.baidu.com/s/1gci6aSIFhEhjY8F48qH39Q提取码:l289复制这段内容后打开百度网盘手机App,操作更方便哦JDK国国内官网下载地址:https://www.oracle.com/cn/java/technologies/javase-downloads.htmlJDK8国内官网下载地址:https://www.oracle.com/cn/j

    2022年7月21日
    109
  • std::vector初始化[通俗易懂]

    std::vector初始化[通俗易懂]#include<iostream>#include<stdint.h>#include<vector>usingnamespacestd;intmain(){ std::vector<uint8_t>temp0(0,0); cout<<“vectorsize:”<<temp0.size()<<endl; std::vector<uint8_t>temp1(.

    2025年12月4日
    5
  • ⛽zipkin2.reporter.InMemoryReporterMetrics导致服务器CPU100%及应用OOM问题排查和解决「建议收藏」

    ⛽InMemoryReporterMetrics导致线上CPU100%及服务OOM排查和解决下面是我遇到的问题,以及一些简单的排查思路,如有不对的地方,欢迎留言讨论。如果你已经遇到 InMemoryReporterMetrics 导致的OOM问题,并已经解决,则可忽略此文。若你对CPU100%以及线上问题OOM排查不清楚,可以浏览下本文。问题现象【告警通知-应用异常告警】简单看下告警的信息:拒绝连接,不要太在意马赛克。问题排查通过告警信息,知道是哪一台服务器的哪个服务出现问题。首先登录服

    2022年3月1日
    42
  • 虚拟机连不上网的问题

    虚拟机连不上网的问题先来五种解决办法参考链接:VMware虚拟机里连不上网的五种解决方案原理+终极解决办法右键连不上网的虚拟机–>设置

    2022年6月26日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号