洛谷 P1327 數列排序

2022-04-06 07:19:53 字數 565 閱讀 5980

給定乙個數列,這個數列滿足ai≠aj(i≠j),現在要求你把這個數列從小到大排序,每次允許你交換其中任意一對數,請問最少需要幾次交換?

輸入格式:

第一行,正整數n (n<=100,000)。

以下若干行,一共n個數,用空格分隔開,表示數列,任意-2^31

輸出格式:

只有一行,包含乙個數,表示最少的交換次數。

輸入樣例#1: 複製

8

8 23 4 16 77 -5 53 100

輸出樣例#1: 複製

5

思路:貪心。

#include#include

#include

#include

#include

using

namespace

std;

mapid;

intn,ans;

int num[100010],pos[100010

];int

main()

cout

<}

洛谷 P1327 數列排序 數論第三題

題目 題意 給乙個陣列,問將其從小到大排序需要交換幾次數字 分析 用個map容器,來存每個值對應的位置,直接遍歷陣列,找到排序之後的陣列與原陣列不同的位置,然後用map來交換 上 詳解 include include include include include define ll long lo...

洛谷p1062 數列

給定乙個正整數k 3 k 15 把所有k的方冪及所有有限個互不相等的k的方冪之和構成乙個遞增的序列,例如,當k 3時,這個序列是 1,3,4,9,10,12,13,該序列實際上就是 3 0,3 1,3 0 3 1,3 2,3 0 3 2,3 1 3 2,3 0 3 1 3 2,請你求出這個序列的第n...

洛谷P1062(數列)

題目 給定乙個正整數k 3 k 15 把所有k的方冪及所有有限個互不相等的k的方冪之和構成乙個遞增的序列,例如,當k 3時,這個序列是 1,3,4,9,10,12,13,即3 0,3 1,3 0 3 1 3 2,3 0 3 2,3 1 3 2,3 0 3 1 3 2 請你求出這個序列的第n項的值 用...