牛客練習賽54 C 排序(逆序數)

2021-10-02 08:37:10 字數 900 閱讀 3808

題意:給你乙個只含有』a』,『t』,『c』,'g』的字串,問你將它所有相同字串移到一起需要的最小次數。

思路:因為字串只有4個字元,所以我們可以考慮遍歷1,2,3,4的全排列,每一次求出將題目給的字串移動到當前的全排列所需要的最小次數,更新最小值就好。但如何求這個最小次數呢?眾所周知,氣泡排序需要移動的次數就是逆序對的個數,這一題同理,我們只要求出每乙個全排列的逆序對的個數就好啦。

ac**:

#include

#include

#include

#include

#include

using

namespace std;

#define ll long long

const

int maxn =

2e5+7;

const

int mod =

998244353

;const

int inf =

1e18

;string s;

ll a[maxn]

;///全排列陣列

ll num[10]

;///逆序數存數陣列

ll p[maxn]

;///字母對映陣列

void

init()

}ll solve()

num[p[i]]++

;}return ans;

}int

main()

while

(next_permutation

(a+1

,a+4+1

));printf

("%lld\n"

,ans);}

return0;

}

牛客練習賽54B 求和

第一行乙個整數t,表示資料組數。接下來t行每行乙個整數n,含義如題目描述所示。輸出t行,表示每次詢問的結果。示例1 2 248 48t 3 1e5,n 1e18。輸入資料量可能較大,建議使用較快的讀入方式。題目大意 給定乙個數n,讓計算i從0開始到2 n的每乙個數字的lowbit的和。題解 由於資料...

牛客練習賽9

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 珂朵莉想每天都給威廉送禮物,於是她準備了n個自己的本子 她想送最多的天數,使得每天至少送乙個本子,但是相鄰兩天送的本子個數不能相同 珂朵莉最多送幾天禮物呢 第一行乙個整...

牛客練習賽15

時間限制 c c 2秒,其他語言4秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 第一次期中考終於結束啦!沃老師是個語文老師,他在評學生的作文成績時,給每位學生的分數都是乙個小於10的非負小數。amy 8.99999999999999999999...