2020多校聯賽第五場F題 DPS

2021-10-08 16:18:18 字數 705 閱讀 7259

輸出有三行,第一行和第三行一樣;

需要注意 :『-』以及 『 空格 』的個數為 si 的值;

當 di 為最大值時,需要將最後乙個『 空格 』 改為 『 * 』 , 如果有多個最大值,重複該操作。

#include

using

namespace std;

typedef

long

long l;

intmain()

}for

(l i=

0; i

)else

for(l j=

0; j

) cout<<

'+'<

for(l j=

0; j

2; j++

)else

if(j==q&&arr[i]

==max)

else

} cout<

<

cout<<

'+';

for(l j=

0; j

) cout<<

'+'<

}return0;

}

2020牛客多校第五場H

乙個數轉為二進位制後,最多有log位,所以減小後的個數最多只有log位,加上二分,複雜度為平方級的,主席樹也是log級的,所以總複雜度為 nlog2n mlogn 可能常數偏大 ac include include include include include include include de...

2020牛客多校第五場 D

題意,有兩個操作,求你最少使用的段數 連續使用1操作包括1次也稱為1段 對於操作1 我們可以把 1 n 1看成是乙個環,操作一次,環轉一次。對於操作2 我們可以把1 n 看成是乙個環,操作一次,環轉一次。每使用多次包括1次操作1 之後 再使用多次包括1次操作2 就可以把某些數放到最後乙個數的後面,即...

2020牛客多校第五場D Drop Voicing

給定乙個長度為n的排列,每次可以做兩個操作 1 把排列倒數第二個數放到第一的位置 2 把第乙個數放到最後乙個位置 連續的操作1視作一次操作。問最少需要幾次操作才能把排列變為全部公升序。即12345678 操作2可看作改變排列的順序,相當於在圓上繞圈圈,操作1可改變排列的本質。所以只需要每次進行操作2...