upc 個人訓練賽第十七場 稻草人(差分)

2021-10-05 04:48:15 字數 932 閱讀 1785

問題 c: 稻草人

題目描述

小x家有n塊菜地,編號分別為1~n,每塊菜地上都有一些稻草人。

小x認為菜地裡的稻草人太多了,於是他決定去掉一些稻草人。小x會進行m次操作,每次他會選擇乙個區間l~r,使第i(l < i < r)塊菜地上稻草人的數量xi變為(下取整)。

小x想知道,當他執行完這m次操作後,每塊菜地上還剩下多少稻草人。

輸入第1行兩個正整數n,m,其意義如題目描述中所述。

第2行n個正整數,第i個正整數ai表示還沒有執行操作時,第i個菜地上稻草人的數量。

接下來m行每行兩個正整數l,r,其意義如題目描述中所述。

輸出共一行n個正整數,第i個正整數表示執行完m次操作後,第i個菜地上稻草人的數量。

樣例輸入 copy

5 25 10 17 9 6

1 43 5

樣例輸出 copy

2 3 2 1 2

提示樣例解釋:

初始狀態時:5 10 17 9 6

一次操作後:2 3 4 3 6

兩次操作後:2 3 2 1 2

【資料範圍】

對於50%的資料,n,m < 3000

對於100%的資料,n,m < 300000 , 1 < l < r < n , 1 < ai < 1e9

思路:這個題暴力跑是跑不過去的,正解是差分,用乙個差分陣列去維護原陣列,然後計算一下原陣列的改變個數即可

int n,m,l,r;

int a[maxn]

,sum[maxn]

;//差分陣列

intmain()

for(

int i=

1;i<=n;i++

)printf

("%d "

,a[i]);

}return0;

}

UPC2018組隊訓練賽第十二場

1 include2 using namespace std 3char str 100050 4 typedef long long ll 5 intmain 622 else 2327 28 printf lld n ans 29 30return0 31 view code 訓練賽時想到的思路...

UPC2018組隊訓練賽第十場

直接按照題意寫 1 include 2 3using namespace std 4bool cmp int x,inty 5 8int n,m,a 1005 9 intmain 1025 return0 26 view code 輸入的兩個字串相同輸出 identical 如果只有乙個雙引號裡面的...

upc 訓練賽第六場 遊戲(組合數)

時間限制 1 sec 記憶體限制 512 mb 提交 180 解決 48 提交 狀態 討論版 命題人 admin 題目描述 九條可憐是乙個熱愛遊戲的女孩子,她經常在網上和一些們玩一款叫做 殭屍危機 遊戲。在這款遊戲中,玩家們會需要在成為殭屍之前與黑惡勢力鬥智鬥勇,逃離被病毒感染的小島。但是黑惡勢力不...