【題目】
陣列重建
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 10sample output 17 -1 9 -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陣列就可以用...