圆桌会议

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 3356    Accepted Submission(s): 2351

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

杭电ACM省赛集训队选拔赛之热身赛

类似于冒泡排序:试想一下 把一桌人看成一个标有序号的环,然后如果想让他逆序,那么可以把这个环 ,倒置过来就可以了,那么就存在在左右倒置的过程中,把环分为

两个相等段,两边标号恰好逆序了,(尽可能分为相等两段)。

voidbubble_sort(inta[],intn)//n为数组a的元素个数
{inti,j,temp;for(j=0;j<n-1;j++)for(i=0;i<n-1-j;i++){if(a[i]>a[i+1])//数组元素大小按升序排列{temp=a[i];a[i]=a[i+1];a[i+1]=temp;}}
}

时间复杂度

若文件的初始状态是正序的,一趟扫描即可完成排序。所需的关键字比较次数

和记录移动次数

均达到最小值:

所以,冒泡排序最好的时间复杂度为


  若初始文件是反序的,需要进行

趟排序。每趟排序要进行

次关键字的比较(1≤i≤n-1),且每次比较都必须移动记录三次来达到交换记录位置。在这种情况下,比较和移动次数均达到最大值:

冒泡排序的最坏时间复杂度为

综上,因此冒泡排序总的平均时间复杂度为

AC code:

#include<iostream>
using namespace std;
int main()
{int N;while(cin>>N){int x,y;x=N/2;y=N-x;cout<<(x*(x-1)/2+y*(y-1)/2)<<endl;}return 0;
}

杭电 HDU ACM 圆桌会议相关推荐

  1. 杭电 HDU ACM 1754 I Hate It (线段树)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  2. 赛马网ACM试题(原杭电oj ACM)java版答案(1000,10001,1002)

    赛马网ACM试题(原杭电OJ ACM试题)答案(java版) Author : Zhang Hailong   Date   : 2015-09-17    HomePage : http://  E ...

  3. 杭电OJ——ACM 1009.FatMouse‘ Trade

    FatMouse'Trade 杭电OJ--ACM 1009.FatMouse' Trade链接入口 问题描述        肥老鼠换东西,m磅猫食,n间房子,每个房间有J[i]磅JavaBean,对应 ...

  4. 杭电OJ——ACM 1003.Max Sum

    Max Sum 杭电OJ--ACM 1003.Max Sum链接入口 问题描述 大意:        给定一个序列a[1],a[2],a[3]-a[n],你需要算出其子序列中的最大值.比如说:给你一个 ...

  5. 杭电 hdu 1175 连连看 测试数据

    /* THE PROGRAM IS MADE BY PYY */ /*----------------------------------------------------------------- ...

  6. 杭电 hdu 1874 畅通工程续

    第二次 /* THE PROGRAM IS MADE BY PYY */ /*------------------------------------------------------------- ...

  7. 杭电 hdu 2096

    小明A+B: #include<iostream> using namespace std; int main(){int n;cin>>n;cin.ignore();whil ...

  8. 杭电 hdu 1003

    Max Sum: 本题同样没有AC,解题思路很简单. #include<iostream> #include<string.h> using namespace std; #d ...

  9. 杭电 hdu 2040

    亲和数: #include<iostream> using namespace std; long long Test(long long n){long long i,sum=0;for ...

最新文章

  1. Servlet的PrintWriter out = response.getWriter()使用
  2. 【Centos】Centos7.5取消自动锁屏功能
  3. 2012 Java陷阱
  4. 相比 Windows 为什么越来越多人选择Linux?
  5. 用 rust 写算法
  6. 通过例子理解 k8s 架构 - 每天5分钟玩转 Docker 容器技术(122)
  7. python关机_Python 神操作: 远程开机和关机
  8. 证明3-SAT问题是NP-complete
  9. BZOJ3711 : [PA2014]Druzyny
  10. Windows XP 禁用屏幕保护功能
  11. 谷歌SEO是什么意思,谷歌搜索引擎优化怎么做
  12. Arduino蓝牙无线自动下载程序 Arduino无线下载
  13. flac批量转mp3,详细步骤
  14. 利用WireShark下载视频网站的流媒体视频
  15. Python 生成一组随机数列表
  16. 别找了,这就是你想要的年会抽奖开源项目
  17. 全球100位最佳工程师,开发人员,编码人员和企业家,可以在线关注他们的github,推特,网站等
  18. 基于asp.net742自驾游旅游服务网站的设计
  19. 【Three Fire】核心知识基本放大电路——模电学习笔记2.1
  20. Mediator模式(调停者模式)

热门文章

  1. eNSP不同网段主机互联-static
  2. python鲜花水果商城毕业设计开题报告
  3. 不一样的视觉盛宴,Python实现3D地图
  4. worksheet怎么读_worksheet是什么意思_worksheet的翻译_音标_读音_用法_例句_爱词霸在线词典...
  5. 成绩管理系统(C语言)完整代码,纯C的练手程序
  6. Vue-cli3.x中使用Axios发送跨域请求的配置方法
  7. 深入浅出的web语义化理解
  8. 74KB图片也高清,谷歌用神经网络打造图像压缩新算法
  9. Qt主线程和工作线程更新界面问题
  10. C语言推箱子(带回退,撤回,返回上一步功能)