andy在他的莊園裡種了n棵樹,排列成一排,標號為1到n。最開始的時候n棵樹的高度都是0,也就是種子剛剛被埋下,樹還沒有長出來。
andy會一種魔法,他每使用一次魔法,就可以讓樹標號落在連續區間[l, r]裡的樹的高度增加1。他可以使用q次這種魔法,然後他很好奇,在使用了q次魔法之後,他的所有樹的高度分別是多少呢?
第一行輸入兩個整數n,q。(1<= n, q <= 1e5)接下來q行,每行輸入兩個整數l, r(l <= r),表示andy讓標號落在區間[l, r]裡的數高度都加1
輸出有一行n個整數,每個整數後面有空格。輸出末尾沒有換行示例1第i個數表示第i棵樹的高度
複製
10 31 32 4
3 3
複製
1 2 3 1 0 0 0 0 0 0
andy種了10棵樹第一次使用魔法使得1、2、3棵樹的高度增加1,
所有樹的高度為
1 1 1 0 0 0 0 0 0 0
第二次使用魔法使得2、3、4棵樹的高度增加1,
所有樹的高度為
1 2 2 1 0 0 0 0 0 0
第三次使用魔法使得第3棵樹的高度增加1
所有樹的高度為
1 2 3 1 0 0 0 0 0 0
差分思想,建立兩個陣列,乙個陣列進行相關操作:在區間l,r中,l位置上加1,r+1位置上-1;另乙個記錄字首和,字首和陣列即為所求陣列
#includetypedeflong
long
ll;using
namespace
std;
const
int maxn=2e5+7
;int
main()
,b[maxn]=;
while(q--)
//cout<<"a"for(int i=1;i<=n;i++)
//cout];
for(int i=2;i<=n;i++)
b[i]=a[i]+b[i-1
];
//cout<<"b"cout
<"";
return0;
}
北京資訊科技大學第十一屆程式設計競賽(重現賽)H
andy要去市場買n件貨物,每件貨物的 為ai。商家為了吸引顧客,給每個買n件貨物的顧客乙個折扣清單,清單上有n個小於1的小數bj表示折扣。對於每個折扣bj,由使用者自行決定用它使哪個貨物的 變成bj ai,並且只能用一次。andy想讓你幫他算一下他最少的花費。先輸入乙個正整數t,代表樣例的組數。1...
北京資訊科技大學第十一屆程式設計競賽(重現賽)B
kotori最近迷上了擺氣球的遊戲。她一共有n種氣球,每種氣球有無數個。她要拿出若干個氣球擺成一排。但是,由於氣球被施放了魔法,同樣種類的氣球如果相鄰會發生 因此若兩個相鄰的氣球種類相同被視為不合法的。kotori想知道,擺成一排m個一共有多少種不同的方案?由於該數可能過大,只需要輸出其對109取模...
福州大學第十一屆程式設計競賽
problem a 大王叫我來巡山吶 題意 第一天是星期一,求n天中有多少個星期六或者星期天 水題,直接求 include include include include include includeusing namespace std int main return 0 problem b 防...