cf 359B

求一個長度爲2n的序列,滿足Σ|a2i−a2i−1|−|Σa2i−a2i−1|=2k

這種帶絕對值的題目套路就是把絕對值拆開。看看n=2時候的情況

[1,2,3,4]

|2−1|+|4−3|−|2−1+4−3|=0

swap(1,2)=>

|1−2|+|4−3|−|1−2+4−3|=2

也就是交換一組產生2的貢獻,直接交換k組就好了。

#include<iostream>
using namespace std;
/*
*/
int main(){
    int n,k; cin>>n>>k;
    for(int i=1;i<=n;++i){
        if(k>0) cout<<i*2<<" "<<i*2-1<<" ";
        else cout<<i*2-1<<" "<<i*2<<" ";
        k--;
    }return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章