POJ 1455 Crazy tea party
2012-08-21 01:50
274 查看
这题一开始没看明白题意,不知道测试数据怎么算出来的,又去找题解。要在最短的时间内实现两两逆序,设从一个人开始的序列是1 2 3 4 5,那么因为这是一个环就等价与把4 5 1 2 3两两逆序。一开始还没明白这样做有什么好处,后来才明白一开始的逆序数要尽可能的大才能使操作时间最短,因为已经逆序的数就不需要再进行交换了,观察发现1在中间时逆序数是最大的,这样就把这个串切成了两段,然后进行冒泡排序的时间和即为答案。
#include <iostream> #include <cstdio> using namespace std; int main() { int t; scanf("%d",&t); while(t--) { int n; cin>>n; if(n&1) { int temp=n/2; cout<<temp*temp<<endl; } else { int temp=n/2; cout<<temp*(temp-1)<<endl; } } }
相关文章推荐
- poj 1455 Crazy tea party
- poj 1455 Crazy tea party
- POJ_1455_Crazy tea party_解题思路
- poj 1455-Crazy tea Party-类似冒泡排序
- zoj 1730 || poj 1455 Crazy Tea Party(= =)
- poj1455——Crazy tea party
- poj 1455 Crazy tea party(数学)
- poj 1455 Crazy tea party
- poj 1455 Crazy tea party
- POJ_1455_Crazy tea party_解题思路
- POJ 1455 Crazy tea party
- POJ 1455 Crazy tea party 冒泡排序的想法
- zoj 1730 / poj 1455 Crazy Tea Party
- POJ-Crazy tea party,很好的一道数学题~~~
- zoj 1730 / poj 1455 Crazy Tea Party
- Crazy Tea Party hoj poj 数学题
- Crazy tea party-1455
- Crazy Tea Party
- LA2756--Crazy tea party
- zoj 1730 Crazy Tea Party(水题吗?我不会啊!!!)