题意:
给你一个圆盘,你可以找连续的4个数进行翻转,问是否能翻转成 1, 2, 3, 4 …… n 这样的形式

分析:
注意到是圆盘,我们证明下列两个条件。

  1. 如果n为偶数,那么一定存在序列是偶数序列

例如 1 2 3 4 由于是圆盘可以视为, 2 3 4 1 这样,那么此时的逆序对变为3
可以这样证明 如果第一个元素和全体后面元素的逆序对为k
那么将第一个元素放到最后 这个元素和前面所有元素的逆序对变为 n - 1 - k
考虑到k是奇数,n为偶数 那么n - 1 - k为偶数。

  1. 如果存在逆序对为偶数,那么一定可以旋转满足题意的形式

例如 1 2 3 4 5 我们可以发现要将1放在任何位置都是可以的
例如 旋转 5 1 2 3 那么1就跑到2的位置,换句话说,由于是圆盘
因此可以随意的将一个数转到他的相邻数,
每次经过这样的步骤,逆序对的数量总是改变偶数个
比如 1 2 3 4 5 -> 2 1 5 4 3 我们发现逆序对变成了 4个
而需要的数 1 2 3 4 5的逆序对总为0
因此如过存在逆序对为偶数,那么一定可以旋转满足逆序对为0
这个不好证明,留给读者。
笔者的想法是,每次旋转总改变偶数个逆序对,因此如过总的逆序对是偶数,总有办法令逆序对变为0

因此综上 如过n为偶数,那么一定可以存在逆序对为偶数的序列,满足2 因此成立
如果n为奇数, 那么如果此时的逆序对不是偶数,无论怎么翻转和绕圆盘,无法使逆序对变为偶数,因此无法令逆序对变为0

综上代码如下:

#include<bits/stdc++.h>
#define LL long long
#define ms(s) memset(s, 0, sizeof(s))
using namespace std;
const int maxn = 5e2 + 10;
int a[maxn];int main() {// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);ios::sync_with_stdio(false);cin.tie(0);int T;cin >> T;while(T--) {int n;cin >> n;for(int i = 0; i < n; i++) {cin >> a[i];}int cnt = 0;for(int i = 0; i < n; i++) {for(int j = i + 1; j < n; j++) {if(a[i] > a[j]) {cnt++;swap(a[i], a[j]);}}}if(n % 2 && cnt % 2) cout << "impossible" << endl;else cout << "possible" << endl;}return 0;
}

如果有朋友可以证明2的,望在下面评论。

UVa 1620 Lazy Susan(懒惰的苏珊)相关推荐

  1. 什么是懒惰的苏珊(Lazy Susan)

    "懒苏珊"是餐桌上的一个附加物,用来帮助用餐时将食物从一个人转移到另一个人.这是通过使用转盘来完成的,转盘通常在被桌上的人推动时以圆形的模式移动食物.这样,食物永远不必被捡起来传给 ...

  2. Susan Sontag【苏珊·桑塔格】

    Sunsan Sontag Sunsan Sontag was one of the most noticeable figures in the world of literature. 苏珊·桑塔 ...

  3. UVa 1620 懒惰的苏珊(逆序数)

    https://vjudge.net/problem/UVA-1620 题意:给出一个序列,每次可以翻转4个连续的数,判断是否可以变成1,2,3...n. 思路:考虑逆序数,通过计算可以得出每次翻转4 ...

  4. 习题 8-20 懒惰的苏珊(Lazy Susan, ACM/ICPC Danang 2007, UVa1620)

    原题链接:https://vjudge.net/problem/UVA-1620 分类:结论推导 备注:数学思维 结论题,直接求逆序对. 长度为L的序列,顺序和逆序的逆序对总数为(L^2-L)/2是显 ...

  5. 懒惰的苏珊 UVa1620

    链接:http://blog.csdn.net/S1766434333/article/details/53056780 代码:

  6. Blender图解教程:给苏珊一头美腻的秀发 之 用曲线实现风格化头发

    Blender 2.8 效果图 没学过发型设计,大家做的应该比我的好看. 步骤 效果图 1. 路径曲线 2. 圆环曲线 3. 为`路径曲线`添加`倒角物体` 4. 最后复制多个副本,摆放到苏珊头上就可 ...

  7. 安静:内向性格的竞争力 苏珊·凯恩

    安静:内向性格的竞争力       苏珊·凯恩 http://vdisk.weibo.com/s/FW52uqntkXM4?sudaref=www.baidu.com

  8. Blender图解教程:给苏珊一头美腻的秀发 之 用粒子实现写实风头发

    用一个简单实例记录一下用粒子实现写实风头发的工作流程 效果图 步骤 效果图 用顶点组标记毛发生长区域 新建毛发粒子 编辑毛发粒子 有请苏珊 用顶点组标记毛发生长区域 新建毛发粒子 此时,退回到物体模式 ...

  9. mit计算机科学中心,MIT苏珊•霍克菲尔德校长在清华大学-麻省理工学院-香港中文大学“理论计算机科学研究中心”揭牌典礼上的致辞...

    MIT苏珊•霍克菲尔德校长在清华大学-麻省理工学院-香港中文大学"理论计算机科学研究中心"揭牌典礼上的致辞 2010年06月21日 浏览次数: 0 Thank you Presid ...

最新文章

  1. node中模块、AMD与CMD、ES6模块,node中使用ES6
  2. Xcode文件名后的字母含义
  3. ROS知识:关于如何命名的约定
  4. 吴裕雄 python 神经网络——TensorFlow实现AlexNet模型处理手写数字识别MNIST数据集...
  5. win10卸载电脑管家就蓝屏_win10 动不动就蓝屏,都不敢用啦。该怎么解决呢?
  6. Mysql导出表结构及表数据 mysqldump用法
  7. matlab调用opencv库,matlab调用opencv库
  8. NOIP模拟测试39,思维禁锢专场「工业题·玄学题·卡常题」
  9. 跨server传输数据注意事项
  10. 关于AAARR模型,还停留在理论却不会用?附实例讲解
  11. 第四回. 实数系的性质
  12. 【定位】TOF与TDOA
  13. 计算机学科生物知识与能力,2018下全国教资统考高中生物学科知识与能力试题(科目三)答案...
  14. 小鸟云服务器上线了新的操作系统
  15. python excel筛选统计_懂点EXCEL就行!教你利用Python做数据筛选(上)
  16. 免费下论文及查重投稿的10来个方法
  17. 结巴分词python安装_“结巴”分词:做最好的Python分词组件
  18. python刷新腾讯云cdn
  19. python制作二维码_利用Python制作二维码
  20. 2020Android手机专业摄影,这 7 款手机,就是 2020 上半年的拍照巅峰

热门文章

  1. GRANT ALL PRIVILEGES
  2. Python游戏末日丧尸
  3. html站点根目录在哪里,html中的绝对路径URL和相对路径URL及子目录、父目录、根目录...
  4. 【Linux安全管理】Firewalld详解
  5. iptables匹配multiport
  6. IntelliJ IDEA 2021.1 关闭更新提醒
  7. Makefile中=, :=, ?=和+=的含义
  8. 【下载器篇】IDM下载器个性化设置
  9. 花了2小时,搭建了一个物联网项目,值了 ~
  10. Javascript的undefined和notdefined的区别