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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • QueryInterface详解 COM

    QueryInterface详解 COMQueryInterface接口查询IUnknown:      所有的COM接口均需要继承IUnknown接口。因此,若某个用户拥有一个IUnknown接口指针,它并不需要知道它所拥有的接口指针到底是什么类型的,而只需要通过此接口就可以用来查询其他接口就行了。      由于所有的COM接口都继承了IUnknown,每个接口的vbtl的前三项都是QueryInterface,A

    2022年6月29日
    30
  • tf.placeholder函数说明

    tf.placeholder函数说明函数形式:tf.placeholder(dtype,shape=None,name=None)参数:dtype:数据类型。常用的是tf.float32,tf.float64等数值类型 shape:数据形状。默认是None,就是一维值,也可以是多维(比如[2,3],[None,3]表示列是3,行不定) name:名称为什么要用placeh…

    2022年7月26日
    3
  • golang下文件锁的使用[通俗易懂]

    golang下文件锁的使用[通俗易懂]前言题目是golang下文件锁的使用,但本文的目的其实是通过golang下的文件锁的使用方法,来一窥文件锁背后的机制。为什么需要文件锁只有多线程/多进程这种并发场景下读写文件,才需要加锁,场景1-读写并发读写并发场景下,如果不加锁,就会出现读到脏数据的情况。想象一下,读文件的进程,读到第500字节,有其它进程以覆盖写的方式向文件中写入1000字节,那读进程读到的后500字节就是脏数据。场景2-写写并发写写并发场景下,如果不加锁,假设A进程先写0-1000字节,B进程写0-900字节,以此类

    2022年6月28日
    28
  • 什么是系统可用性[通俗易懂]

    什么是系统可用性[通俗易懂]在一个阳光明媚的周二下午,我正在公司里面看着即将发布的Java12的新特性,这时候女朋友打来电话。晚上下班后,女朋友回到家里面和我说,发现淘宝无法访问的十几分钟后又可以了。系统可用性系统

    2022年6月30日
    24
  • centOS7下实践查询版本/CPU/内存/硬盘容量等硬件信息

    centOS7下实践查询版本/CPU/内存/硬盘容量等硬件信息1.内核版本uname-a能确认是64位还是32位,其它的信息不多[root@localhost~]#uname-aLinuxlocalhost.localdomain3.10.0-327.el7.x86_64#1SMPThuNov1922:10:57UTC2015x86_64x86_64x86_64GNU/Linuxmore/etc/*relea

    2022年6月26日
    33
  • 基于AWS使用深度学习的10个Linux命令

    基于AWS使用深度学习的10个Linux命令

    2022年3月6日
    44

发表回复

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

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