题目:圆桌会议

Problem - 1214 (hdu.edu.cn)


解题思路:

结果的顺序就是原序列的逆序,例如12345就是54321为结果顺序。同时将一个顺序序列(非环)变成逆序需要的次数为。想要的得到最短的交换次数,只需要将环尽量对半分,然后分别对两部分进行顺序序列变逆序次数的计算,再将两部分次数相加即可。(ps:只有尽量对半分,才能使得逆序所需次数最少,3:7之类都是不行的)


AC代码:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;

int slove(int n){
	return n * (n - 1) / 2;
}
int main()
{
	int n;
	while(cin >> n){  // 题目没有输入样例次数
		cout << slove(n/2) + slove(n - n / 2) << '\n';
	}
	return 0;
 } 

知识点:

思维题,数学

相关推荐
Xの哲學2 小时前
TCP 连接管理:深入分析四次握手与三次挥手
网络·网络协议·算法
华清远见成都中心4 小时前
基于深度学习的异常检测算法在时间序列数据中的应用
人工智能·深度学习·算法
এ᭄画画的北北6 小时前
力扣-347.前K个高频元素
算法·leetcode
月殇_木言8 小时前
算法基础 第3章 数据结构
数据结构·算法
亮亮爱刷题9 小时前
算法提升之树上问题-(LCA)
数据结构·算法·leetcode·深度优先
火车叨位去19499 小时前
力扣top100(day03-01)--二叉树 03
算法·leetcode·职场和发展
岁忧9 小时前
(LeetCode 每日一题) 1780. 判断一个数字是否可以表示成三的幂的和 (数学、三进制数)
java·c++·算法·leetcode·职场和发展·go
浩少70210 小时前
LeetCode-16day:栈
java·数据结构·算法
胖咕噜的稞达鸭12 小时前
数据结构---关于复杂度的基础解析与梳理
c语言·数据结构·算法·leetcode
高山莫衣12 小时前
Polyak-Ruppert 平均
人工智能·算法·机器学习