圆桌会议

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

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
题解:在直线上考虑,设第n个人不动,第n-i个人走到第n个人右边需要i分钟,全部翻转一次需要1+2+。。。+n-1分钟。推广到圆环上的话,将圆环分成两段,若两段分别完成翻转则整个圆环完成翻转,两段圆环则为最优解。使两段的差最小,则需要时间最少。
#include<iostream>
#include<cstring>
#include<stack>
#include<algorithm>
#include<cmath>
#define INF 0x3f3f3f3f
using namespace std;
int fun(int n)
{
 return n*(n-1)/2;
 }
int main() {
 int n;
 while(cin >> n)
 {
  int a = n / 2;
  int b = n - a;
  cout << fun(a) + fun(b) << endl;
 }
 return 0;
}

hduoj 1214相关推荐

  1. 【贪心】【codevs】1214 线段覆盖

    http://codevs.cn/problem/1214/ 我去这个题...wa的我都没脾气了... 我写while(~scanf("%d", &n))竟然是不对的... ...

  2. HDUOJ 1060 Leftmost Digit

    问题:求x^x的最高位 思路: 假设a = x^x,对10求对数有log(a) = x * log(x) = b.cd,其中b表示指数的最大表示,10^(.cd)就是底 具体代码参考: https:/ ...

  3. [Jobdu] 题目1214:丑数

    题目描述: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 输入: ...

  4. lightoj 1214

    lightoj 1214 Large Division  (大数除法) 链接:http://www.lightoj.com/volume_showproblem.php?problem=1214 题意 ...

  5. 信息学奥赛一本通(1214:八皇后)

    1214:八皇后 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 9918     通过数: 6127 [题目描述] 会下国际象棋的人都很清楚:皇后可以在横.竖.斜 ...

  6. 单例模式 c# 1214

    单例模式 c# 1214 实现思路 #mermaid-svg-AufzdtZ30L8deoNI .label{font-family:'trebuchet ms', verdana, arial;fo ...

  7. 04 能够使用using和namespace引用和定义命名空间 1214

    04 能够使用using和namespace引用和定义命名空间 1214 01 02

  8. 03 掌握C#控制台程序的结构组成 1214

    03 掌握C#控制台程序的结构组成 1214 01 02

  9. 02 掌握变量的定义和使用方法 1214

    02 掌握变量的定义和使用方法 1214 01 02 03

最新文章

  1. [转]解决安装m2eclipse插件后,eclipse启动时在控制台提示的警告
  2. SQL Server 批量插入数据的两种方法(转)
  3. cleanmymac定时清理与垃圾监测
  4. hadoop3.1伪分布式部署
  5. 【转】系统缓存全解析二:动态缓存(2)-页面局部缓存的两种方式
  6. android studio python_android studio的安装信息
  7. vscode之调试js
  8. 手机论文查重软件哪个靠谱?
  9. Fread函数的用法
  10. 多看 kindle 词典_如何从Kindle库中删除多个项目
  11. 服务器无线网卡做ap,通过TP-Link无线网卡设置虚拟AP 看完就明白
  12. win10任务栏假死原因和解决方法
  13. 到底什么是爬虫技术?简谈爬虫概念
  14. php语法变化大,浅析PHP7新功能及语法变化总结
  15. 计算机硬盘从盘的设置,双硬盘怎么设置主从盘 电脑双硬盘设置主从教程
  16. RSPO棕榈油供应链认证体系
  17. 植物神经紊乱,适量进食米饭有什么好处?
  18. 软件工程之功能性需求和非功能性需求
  19. 赤壁之战(dp树状数组)
  20. codeforces1492 D. Genius‘s Gambit python

热门文章

  1. 数字图像处理——形态学操作(二值图像篇)
  2. 差分技术:LVDS(低压差分信号)、MLVDS(多点低压差分信号)的区别与应用场景
  3. Oracle--27分析函数
  4. IOS企业版app部署到自己服务器,不通过AppStore,在iOS设备上直接安装应用程序
  5. warning: this program uses gets(), which is unsafe.
  6. androidapp打开微信小程序
  7. 海南省大数据管理局项目建设处刘雄:区块链技术在海南政务服务领域的典型应用
  8. Houdini pdg arnold渲染报错
  9. 我的手机游戏回忆-风云剑侠
  10. 高企认定没专利?专利评分低?如何评分?