圆桌会议

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 3671 Accepted Submission(s): 2575

Problem Description
HDU ACM集训队的队员在暑假集训时常常要讨论自己在做题中遇到的问题.每当面临自己解决不了的问题时,他们就会围坐在一张圆形的桌子旁进行交流,经过大家的讨论后一般没有解决不了的问题,这也仅仅有HDU ACM集训队特有的圆桌会议,有一天你也能够进来体会一下哦:),在一天在讨论的时候,Eddy想出了一个极为古怪的想法,假设他们在每一分钟内,一对相邻的两个ACM队员交换一下位子,那么要多少时间才干得到与原始状态相反的座位顺序呢?(即对于每一个队员,原先在他左面的队员后来在他右面,原先在他右面的队员在他左面),这当然难不倒其它的聪明的其它队友们,立即就把这个古怪的问题给攻克了,你知道是怎么解决的吗?
Input
对于给定数目N(1<=N<=32767),表示有N个人,求要多少时间才干得到与原始状态相反的座位顺序(reverse)即对于每一个人,原先在他左面的人后来在他右面,原先在他右面的人在他左面。
Output
对每一个数据输出一行,表示须要的时间(以分钟为单位)
Sample Input
4
5
6
Sample Output
2
4
6
Author
Eddy
Source
Recommend
Eddy | We have carefully selected several similar problems for you:

pid=1215" target="_blank">
1215

pid=1210" target="_blank">
1210

pid=1211" target="_blank">
1211
1249 1204



把圆桌分成两部分,分别求两部分的逆序数,然后再让分开后的圆桌合并(即让两逆序数相加),n个有序数的逆序数为:n*(n-1)/2; 所以为了让结果逆序数最小。则尽量要让两部分等分(也就是说若为n个人的圆桌,则一部分是 n/2,还有一部分为 n-n/2)
#include<stdio.h>
int solve(int n){
return (n*(n-1))/2;
}
int main(){
int n;
while(~scanf("%d",&n)){
int d=n/2;
int res=solve(d)+solve(n-d);
printf("%d\n",res);
}
return 0;
}

hdoj-1214-圆桌会议【逆序数】的更多相关文章

  1. HDOJ 1214 圆桌会议

    Problem Description HDU ACM集训队的队员在暑假集训时经常要讨论自己在做题中遇到的问题.每当面临自己解决不了的问题时,他们就会围坐在一张圆形的桌子旁进行交流,经过大家的讨论后一 ...

  2. 逆序数2 HDOJ 1394 Minimum Inversion Number

    题目传送门 /* 求逆序数的四种方法 */ /* 1. O(n^2) 暴力+递推 法:如果求出第一种情况的逆序列,其他的可以通过递推来搞出来,一开始是t[1],t[2],t[3]....t[N] 它的 ...

  3. 逆序数 HDOJ 4911 Inversion

    题目传送门 题意:可以交换两个相邻的数字顺序k次,问最后逆序对最少有多少 分析:根据逆序数的定理如果逆序数大于0,那么必定存在1<=i<n使得i和i+1交换后逆序数减1假设原逆序数为cnt ...

  4. HDU3465 树状数组逆序数

    Life is a Line Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)T ...

  5. HDU 1394 Minimum Inversion Number(最小逆序数 线段树)

    Minimum Inversion Number [题目链接]Minimum Inversion Number [题目类型]最小逆序数 线段树 &题意: 求一个数列经过n次变换得到的数列其中的 ...

  6. 递归O(NlgN)求解逆序数

    导言 第一次了解到逆序数是在高等代数课程上.当时想计算一个数列的逆序数直觉就是用两重循环O(n^2)暴力求解.现在渐渐对归并算法有了一定的认识,因此决定自己用C++代码小试牛刀. 逆序数简介 由自然数 ...

  7. FZU 2184 逆序数还原

    传送门 Description 有一段时间Eric对逆序数充满了兴趣,于是他开始求解许多数列的逆序数(对于由1...n构成的一种排列数组a,逆序数即为满足i<j,ai>aj的数字对数),但 ...

  8. HDU 1394 Minimum Inversion Number(最小逆序数/暴力 线段树 树状数组 归并排序)

    题目链接: 传送门 Minimum Inversion Number Time Limit: 1000MS     Memory Limit: 32768 K Description The inve ...

  9. poj 1007:DNA Sorting(水题,字符串逆序数排序)

    DNA Sorting Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 80832   Accepted: 32533 Des ...

随机推荐

  1. Reuse a SSL socket

    It's possible to reuse a SSL socket after proper cleanup. See SSL Socket free and shutdown on stacko ...

  2. glic,uClibc,EGLIBC 简要介绍

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  3. Stack frame

    http://en.citizendium.org/wiki/Stack_frame In computer science, a stack frame is a memory management ...

  4. C语言编辑编译及集成开发环境

    C语言编辑编译及集成开发环境 编辑器 在不同的操作系统上使用不同的编辑器,保存源代码文件时,文件名应指出程序的功能扩展名应为.c. 编译器 编译器把源代码编译成机器语言的二进制指令即目标代码生成目标文 ...

  5. 【原】thinkphp修改Redis操作类,支持选择数据库功能及添加其他方法

    版本3.2.2(ThinkPHP\Library\Think\Cache\Driver\Redis.class.php), 一:官方默认不支持选择数据库功能及,现就可选择数据库功能进行说明. 1 co ...

  6. python安装外部模块Django

    Windows安装Django模块: 由于本人安装的Python版本是Python3.7,所以安装命令为:pip3 install django /pip3 install django安装过程中出现 ...

  7. [BOI2008]Elect 选举

    背包. #include <algorithm> #include <iostream> #include <cstdlib> #include <cstri ...

  8. L2-012. 关于堆的判断(STL中heap)

    L2-012. 关于堆的判断   将一系列给定数字顺序插入一个初始为空的小顶堆H[].随后判断一系列相关命题是否为真.命题分下列几种: “x is the root”:x是根结点: “x and y ...

  9. [bzoj4567][Scoi2016][背单词] (贪心+trie树)

    Description Lweb 面对如山的英语单词,陷入了深深的沉思,“我怎么样才能快点学完,然后去玩三国杀呢?”.这时候睿智 的凤老师从远处飘来,他送给了 Lweb 一本计划册和一大缸泡椒,他的计 ...

  10. node.js 利用流实现读写同步,边读边写

    //10个数 10个字节,每次读4b,写1b let fs=require("fs"); function pipe(source,target) { //先创建可读流,再创建可写 ...