正解:构造

解题报告:

这个是传送门!

昂直接讲思路趴?毕竟这种构造题的话除了思路也没什么好说的只要想明白辽还是通常来说难度不大的$QwQ$

首先提供一个对正解毫无启发的的想法$QAQ$

就首先可以把右边那个拆一下,就变成奇数位之和-偶数位之和的绝对值,于是可以发现,只要不改变奇偶相对位置,右边就不会改变

于是就变成只要凑出左边就欧克辽

那左边的话,显然不能改变奇偶顺序,如果同时改变奇位和偶位比较难考虑了还是?

那就先让它单调增排列不改变奇位只改偶

那这个时候就发现,如果改变相邻为$k$的,相当于是$+=2\cdot k$

然后就欧克了似乎?$over$

然后港下$psj$说的解法$QwQ$

考虑不改变左边,怎么不改变左边呢?也不难,让相邻的位置不变,左边就不变了(就,$(1,2)$成一对儿,$(3,4)$成一对儿这样子的,懂?)

然后通过调换每一对的相对顺序,依然是先单调递增排列,每交换一对儿的相对位置相当于就是$+=2$

然后就欧克了

哦再注意一下的是,它给的条件中港了,$2\cdot k\leq n$,所以其实这个是给了我们提示的吼!

(↑这句话大概可以作为做构造题的方法,等到了寒假所有构造题刷完了要总结下套路什么的鸭$QwQ$虽然名义上是说没有什么套路辣但其实还是有那么点儿的还是要总结下$QwQ$

$dbq$总结好像咕了

over!

#include<bits/stdc++.h>
using namespace std;
#define rp(i,x,y) for(register int i=x;i<=y;++i) int n,k; inline int read()
{
char ch=getchar();int x=;bool y=;
while(ch!='-' && (ch>'' || ch<''))ch=getchar();
if(ch=='-')ch=getchar(),y=;
while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=getchar();
return y?x:-x;
} int main()
{
n=read();k=read();
rp(i,,n-)
{
if(k){printf("%d %d ",(i+)<<,(i<<)|);--k;}
else printf("%d %d ",(i<<)|,(i+)<<);
}
return ;
}

CF359B Permutation 构造的更多相关文章

  1. CF R 209 div 2 CF359B Permutation 构造

    LINK:Permutation 休闲一下 开了一道构造题. 看起来毫无头绪 其实仔细观察第二个条件 0<=2k<=n. 容易想到当n是奇数的时候 k的范围更小 再手玩一下第一个条件 容易 ...

  2. CF359B Permutation (构造)

    CF359B Permutation \(solution:\) 作为一道构造题,这题也十分符合构造的一些通性----(找到一些规律,然后无脑循环). 构造一个长度为 \(2n\) 的排列 \(a\) ...

  3. 【题解】CF359B Permutation

    [题解]CF359B Permutation 求一个长度为\(2n\)的序列,满足\(\Sigma |a_{2i}-a_{2i-1}|-|\Sigma a_{2i}-a_{2i-1}|=2k\) 这种 ...

  4. Educational Codeforces Round 7 D. Optimal Number Permutation 构造题

    D. Optimal Number Permutation 题目连接: http://www.codeforces.com/contest/622/problem/D Description You ...

  5. Codeforces Round #275 (Div. 1)A. Diverse Permutation 构造

    Codeforces Round #275 (Div. 1)A. Diverse Permutation Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 ht ...

  6. Permutation(构造+思维)

    A permutation p is an ordered group of numbers p1,   p2,   ...,   pn, consisting of ndistinct positi ...

  7. 5.5 省选模拟赛 B Permutation 构造 贪心

    LINK:Permutation 对于这种构造神题 我自然是要补的.为啥就我没想出来哇. 30分还是很好写的 注意8!实际上很小 不需要爆搜 写bfs记录状态即可.至于判断状态是否出现与否 可以开ma ...

  8. Codeforces Round #309 (Div. 1) B. Kyoya and Permutation 构造

    B. Kyoya and Permutation Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/ ...

  9. codeforces 622C. Optimal Number Permutation 构造

    题目链接 假设始终可以找到一种状态使得值为0, 那么两个1之间需要隔n-2个数, 两个2之间需要隔n-3个数, 两个3之间隔n-4个数. 我们发现两个三可以放到两个1之间, 同理两个5放到两个3之间. ...

随机推荐

  1. Nginx(十一)-- keepalived简介

    1. 什么是keepalived 基于VRRP(虚拟路由器冗余协议)来实现对web服务的高可用方案. keepalived下载地址:http://download.csdn.net/detail/u0 ...

  2. windows之IP地址(一)

    服务器: 顾名思义,是服务我们上网的机器.结构组成上和普通的PC结构相似,装了服务器版的系统后都可以作为服务器使用,但前者可靠性高.服务器是网络这个网上的中间节点,供每台终端进行访问.数据信息保存,有 ...

  3. [原]如何为SqlServer2008数据库分配用户

    前言: 当一个项目完成后,为了数据安全,总会对该项目的数据库分配一个用户,应该说总会创建一个用户来管理这个数据库,并且这个用户只能管理这个数据库.搞了好多次,每次都忘记怎么设置,所以写一篇博文记录一下 ...

  4. Stay hungry, Stay foolish 的原义

    乔布斯在斯坦福大学毕业演讲中说过,他最喜欢的一句话叫做"Stay hungry, Stay foolish". "Stewart和他的人出了好几期<地球产品目录&g ...

  5. PON系统基础知识简介

    一  PON基础知识 1.1 PON技术概念 PON(Passive Optical Network)即无源光网络,一种基于点到多点(P2MP)拓朴的技术.“无源”指ODN(光分配网络)不含有任何电子 ...

  6. 转载:C/C++关于string.h头文件和string类

    学习C语言时,用字符串的函数例如stpcpy().strcat().strcmp()等,要包含头文件string.h 学习C++后,C++有字符串的标准类string,string类也有很多方法,用s ...

  7. jQuery的init都做了些什么

    // 初始化jQuery对象,即jQuery.fn.init对象 // @param selector 选择器,可能是DOM对象.html字符串.jQuery对象.函数或其他任意值. // @para ...

  8. ubuntu 重启网络方法--通过杀死进程重启网络

    重启网络方法(通过杀死进程方式,达到网络重启) zh@zh:~$sudo NetworkManager restart //查看进程idNetworkManager 已正运行(pid 10254)zh ...

  9. Promise {<pending>

    场景:在create-react-app whatwg-fetch的项目中,想获取请求返回的数据, componentWillMount() { console.log(this.props) con ...

  10. LeetCode 19 Remove Nth Node From End of List (移除距离尾节点为n的节点)

    题目链接 https://leetcode.com/problems/remove-nth-node-from-end-of-list/?tab=Description   Problem: 移除距离 ...