問題 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 題目描述 九條可憐是乙個熱愛遊戲的女孩子,她經常在網上和一些們玩一款叫做 殭屍危機 遊戲。在這款遊戲中,玩家們會需要在成為殭屍之前與黑惡勢力鬥智鬥勇,逃離被病毒感染的小島。但是黑惡勢力不...