水題 陣列重建

2021-08-22 16:40:32 字數 792 閱讀 8888

【題目】

陣列重建

description

durong喜歡玩陣列,但是他不小心弄丟了乙個陣列的一些數字。

他只知道原來陣列的元素滿足a[i] = (a[i - 1] + 1) % m (1 < i <= n),並且都大於等於0。

現在的陣列中弄丟的數字用-1表示。

你需要幫助durong找回丟失的元素, 重建陣列。

input

輸入第一行為兩個整數n, m。

第二行n個整數代表現在的陣列。

1 <= n <= 2e5.

2 <= m <= 1e9

-1 <= a[i] < m

保證沒有a[i]全為-1的情況。

output

輸出n個整數,代表原來的陣列。不要輸出行末空格。

sample input 1 

4 10

7 -1 9 -1

sample output 1

7 8 9 0
【思路】比賽的時候我竟然dfs...果然比賽令人智商-50%...除了第乙個不是-1的數前面會有-1外,後面不是-1的數前面的-1都會被前面的那個兄弟改掉啊..我到底在想什麼...

【**】

#includeusing namespace std;

const int m=2e5+10;

int main()

}for(int i=p-1;i>=0;i--)

for(int i=p+1;icout

字尾陣列水水水水水水題

首先 jxrjxrjxr orz,沒有您我們都會死 然後就是我從jxr神犇那裡借鑑 照抄 過來的字尾陣列模板。include include include define cmp x y sa i x y sa i 1 x using namespace std const int n 100000...

hdu 2838 樹狀陣列水題

提議是給你乙個序列 讓你調整把它變成 從小到大排列的有序序列 沒調動兩個為兩權值之和 問最小的權值和是多少 給個數列 1 4 2 3 5 對每乙個位置數 需要交換的比為前面比它大的數 或後面比它小的數 包含了最小值在裡面了 比如pi前面有5個數比它大 則就需要把這5個數和pi交換 交換的權值就是這5...

hdu 1594 樹狀陣列 水題

思路 乙個座標的level和它的y座標是無關的,因為x和y都是公升序leve給出的,乙個座標的level只和前面所有的x有關,那麼可以抽象這麼乙個a陣列 實際上是不存在的,只是抽象出來 每輸入乙個x,就對a x 1 因為有0 當前a 1 a x 1 的和就是該座標的level,那麼這個a陣列就可以用...