日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WEEK5 周记 作业——差分数组_TT的魔法猫

發布時間:2023/12/16 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WEEK5 周记 作业——差分数组_TT的魔法猫 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WEEK5 周記 作業——差分數組_TT的魔法貓

一、題意

1.簡述

現有n個城市,第iii個城市有一個資產值a[i]a[i]a[i],每次操作讓區間[l,r][l,r][l,r]中的城市資產增加ccc,要求qqq操作結束后,給出每個城市的資產值。

2.輸入格式

第一行2個整數:nnnqqq(1≤n,q≤2×105)(1 \le n,q \le 2 \times 10^5)(1n,q2×105)——城市的數量和操作的次數。
第二行包含nnn個整數:a1,a2,...an(?106≤ai≤106)a_1,a_2,...a_n(-10^6 \le a_i \le 10^6)a1?,a2?,...an?(?106ai?106) ——每個城市的資產值。
下面跟著qqq行,每行代表一個操作。每一行有3個數:lllrrrccc(1≤l≤r≤n,?105≤c≤105)(1 \le l \le r \le n,-10^5\le c \le 10^5)(1lrn,?105c105)

3.輸出格式

輸出nnn個整數——nnn個城市的最終資產值。

4.樣例

Input_1

4 2
-3 6 8 4
4 4 -2
3 3 1

Output_1

-3 6 9 2

Input_2

2 1
5 -2
1 2 4

Output_2

9 2

二、算法

主要思路

首先看看暴力行不行。最多有2×1052 \times 10^52×105次操作,每次操作最多修改2×1052 \times 10^52×105個值,顯然時間要超過1s。


考慮差分。差分數組可以在O(1)O(1)O(1)的時間復雜度內修改原數組一個區域內的所有元素的值(增/減相同的ccc)。獲取原數組一個元素則需要O(n)O(n)O(n),獲取原數組所有元素的值也只需要O(n)O(n)O(n)
差分數組的構建:B[1]=A[1]B[1] = A[1]B[1]=A[1]B[i]=A[i]?A[i?1]B[i] = A[i]-A[i-1]B[i]=A[i]?A[i?1]所以∑B[i]=A[i]\sum B[i]= A[i]B[i]=A[i]A[L]~A[R]均價上c等價于B[L]+=cB[L] += cB[L]+=cB[R+1]?=cB[R+1] -= cB[R+1]?=c

所以按照公式,每次操作我們只需要花費O(1)O(1)O(1)的時間,最終輸出所有資產值的時間復雜度為O(n)O(n)O(n)。輸出每一個資產值只需要利用公式:A[i]=A[i?1]+B[i]A[i]=A[i-1]+B[i]A[i]=A[i?1]+B[i]就能依次輸出。


題外

小心B數組的數據范圍,這里應該用long long 類型,因為對一個B數組的元素是有可能加q次c的,按照q和c的數據范圍能看出這種情況下用int是會爆精度的。

三、代碼

#include<iostream> #include <cmath> #include<sstream> #include<string> #include<cstdlib> #include<cstring> using namespace std; int a[200010]; long long int b[200010];//又爆了int的精度。。 int main() {int n,q,i,j;scanf("%d%d",&n,&q);for(i=1;i<=n;i++) scanf("%d",&a[i]);b[1]=a[1];for(i=2;i<=n;i++) b[i]=a[i]-a[i-1];for(i=0;i<q;i++){int l,r,c;scanf("%d%d%d",&l,&r,&c);b[l]+=c;b[r+1]-=c;}long long int sum=b[1];printf("%d",sum);if(n>1)printf(" "); for(i=2;i<=n;i++){sum=b[i]+sum;printf("%lld",sum);if(i<=n-1) printf(" ");}return 0; }

總結

以上是生活随笔為你收集整理的WEEK5 周记 作业——差分数组_TT的魔法猫的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕无码av波多野吉衣 | 久草小说 | 久久亚洲国产 | 精品久久香蕉国产线看观看亚洲 | 亚洲在线免费观看视频 | 色播导航| 污污网站免费 | 永久在线观看 | 一区二区三区四区中文字幕 | 色婷在线 | 无码日本精品xxxxxxxxx | 日本做受| 成人性生交大全免 | 91国内产香蕉 | 日韩色av| 日本欧美国产一区二区三区 | 中文天堂在线视频 | 久久久久香蕉 | 国产第2页| 精品国精品国产 | 日日射天天射 | 国产精品无码电影 | 毛片麻豆 | 91极品身材尤物theporn | 中文字幕 日韩 欧美 | 欧美性大战久久久久久 | 亚洲精品乱码久久 | 国产亚洲黄色片 | 日本人性爱视频 | 久久久社区| 蝌蚪久久| 国产免费一区二区三区三州老师 | 亚洲综合在线观看视频 | 成人动漫在线观看 | 在线观看视频福利 | 黄色字幕网 | 人妻无码一区二区三区免费 | 久久国产精品久久久 | 麻豆免费观看网站 | 亚洲一区二区三区网站 | 91精品国产综合久久久久 | www色中色| 欧美久久久久久久久久久久久久 | 污污视频在线播放 | 色网站在线播放 | 国产无遮挡又黄又爽在线观看 | 亚洲一区二区网站 | 黄色在线视频网站 | 射精一区二区 | 精品视频免费在线观看 | 亚洲影院一区二区三区 | julia一区 | 日韩亚洲精品中文字幕 | 就去吻亚洲 | 人操人视频 | 国产精品欧美激情在线 | 黑人乱码一区二区三区av | 中国黄色一级大片 | 欧美一级片网站 | 亚洲综合色一区二区 | 久久国产欧美日韩精品 | 欧美性在线观看 | 女人床技48动态图 | 欧美亚洲久久 | 91精产国品一二三 | 成人免费一区 | av鲁丝一区鲁丝二区鲁丝 | www日韩欧美| 在线精品视频播放 | 一级片99 | www.在线播放| av基地网| 无码久久av一区二区三区 | 免费看成人av | 人妻精品无码一区二区 | 亚洲高潮av | 天天爱av| 国产精品一二区 | 操极品| 亚洲天堂av中文字幕 | 操操操影院 | 亚洲成人黄色在线 | 俄罗斯破处 | 禁断介护老人中文字幕 | 色吟av| 在线中文字幕一区 | 激情图片网站 | 色姑娘天天操 | 国产视频九色蝌蚪 | 国产精品传媒 | 一区二区三区四区人妻 | 美女扒开尿口给男人桶 | 黄色片网站在线免费观看 | 国产青草视频在线观看 | 欧美四级在线观看 | 欧美bbbbb| 嫩草在线视频 | 粉嫩一区二区三区 | 四虎影院黄色 |