首页 > 其他分享 >E. Klever Permutation

E. Klever Permutation

时间:2024-02-09 22:11:05浏览次数:28  
标签:... int ak Klever a1 Permutation

题解

假设 a1 a2 a3 ... ak  ak+1 ak+2 ... an是符合要求的数组,

那么我们可以推断出:

a(k+1)=a(1)+1;

a(k+2)=a(2)-1;

...

a(2k+1)=a(k+1)+1;

...

因此我们知晓奇数位的数要比较小,偶数的位置要比较大;又题目说明一定有解,所以我们假定a1=1,a2=n再递推出其余各项。

Code

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int a[N];
int main(){
    ios::sync_with_stdio(false);
    int t;
    cin>>t;
    while (t--){
        int n,k,cnt=-1;
        cin>>n>>k;
        int sum1=n,sum2=1;
        for (int i=1;i<=k;i++){
            for (int j=i;j<=n;j+=k)
                if (i%2==1)    a[j]=sum1--;
                else a[j]=sum2++;
        }
        for (int i=1;i<=n;i++) 
            if (i==1) cout<<a[i];
            else cout<<" "<<a[i];
        cout<<endl;
    }
    return 0;
}

 

标签:...,int,ak,Klever,a1,Permutation
From: https://www.cnblogs.com/purple123/p/18012645

相关文章

  • CF1861E Non-Intersecting Subpermutations 题解
    简要题意一个长度为\(n\)的元素在\([1,k]\)的整数序列\(a\)的价值定义如下。初始\(i=1\),如果\(a_{i\simi+k-1}\)包含了\(1\simk\)的所有整数,则价值加\(1\),然后令\(i=i+k\)。如果没有包含\(1\simk\)的所有整数则\(i=i+1\),直到\(i\geqn-k+2\)时结束。......
  • P9663 Permutation on Tree 题解
    考虑枚举一个\(x\in[1,n)\),将\(\leqx\)的看作\(0\),\(>x\)的看作\(1\),那么一个排列的贡献实际上就是\(\sum_{x=1}^{n-1}\sum[[p_i\leqx]+[p_{i+1}>x]=1]\)。那么问题转变为一个给定一棵树,每一个点有权值\(0\)或\(1\),求所有排布方案的贡献之和。设\(f_x\)表示......
  • CF1918G Permutation of Given 题解
    总体思路本题通过每次在已知序列中加入\(2\)个元素的方法,可以构造出满足条件的序列\(A\),这里提供一种新的构造方法。性质因为序列\(A\)中所有元素构成的可重集与序列\(B\)中所有元素构成的可重集完全相等,所以\(A\)中所有元素之和与\(B\)中所有元素之和相等。\[\s......
  • 加权排列熵Weighted Permutation Entropy及多尺度系列(Matlab版)
    学者们开发了各种复杂性度量来比较时间序列并区分规则(例如,周期),混沌和随机行为。提出了加权排列熵概念,其是一个定义简单的复杂性度量,可以很容易地计算任何类型的时间序列,无论是规则的,混沌的,嘈杂的,还是基于现实的时间序列。(matlab代码获取:https://mbd.pub/o/bread/mbd-ZZmbm5pv)参......
  • P10033 「Cfz Round 3」Sum of Permutation
    原题链接基础赛唯一写了的题,因为我喜欢构造!事实上的确有点麻烦了,应该会有更好的做法。但是自我感觉这个思维很连贯,因为这就是我做题时思路的写照。记\(p_{pos1}=1,p_{posn}=n\)。首先可以构造\(a_i\getsp_i+1\)这样一定满足第二个限制,但是当\(p_i=n\)时不满足第一个限......
  • ARC167D Good Permutation 题解
    ARC167D看到排列并且有\(i\getsa_i\),就可以直接建出图来,显然是若干个不相干的环。如果不求字典序最小,就可以直接不在同一个环中的\(i,j\)直接交换就可以了,因为它要求了最小化操作数。如果求字典序最小,直接从前往后扫一遍,可以用set维护不在这个环中且\(j>i\)的最小值,如果......
  • CodeForces 1909F2 Small Permutation Problem (Hard Version)
    洛谷传送门CF传送门感觉这个题还是挺不错的。考虑F1。考察\(a_i\)差分后的意义,发现\(a_i-a_{i-1}\)就是\((\sum\limits_{j=1}^{i-1}[p_j=i])+p_i\lei\)。考虑将其转化为棋盘问题。在\((i,p_i)\)放一个车,那么\(a_i-a_{i-1}\)就是\((1,i)\sim......
  • CF213E Two Permutation 题解
    CF213ETwoPermutations题解题意:给出两个排列$a,b$,长度分别为\(n,m\),你需要计算有多少个$x$,使得\(a_1+x,a_2+x,...a_n+x\)是\(b\)的子序列。\(n\leqm\leq2\times10^5\)分析:一个很自然的思路是直接枚举\(x\),然后只保留\(b\)中值域在\([x+1,x+n]\)......
  • [ARC141C] Bracket and Permutation
    考虑假设已知括号序列\(s\),如何求出\(p,q\)。对于求\(p\),考虑从\(s_1\)到\(s_n\)逐个往里放,如果能放就直接放,肯定不劣,否则就从后面抽最近的左括号放过来,然后继续放。不难证明不存在更优方案,对于\(q\)同理。接下来我们发现,如果\(p\)中存在\(p_i<p_{i-1}\),\(s_{p_{i......
  • E. Permutation Sorting
    E.PermutationSortingYouaregivenapermutation$^\dagger$$a$ofsize$n$.Wecallanindex$i$goodif$a_i=i$issatisfied.Aftereachsecond,werotateallindicesthatarenotgoodtotherightbyoneposition.Formally,Let$s_1,s_2,\ldots,s_k$......