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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

nyoj 1217 GLaDOS的耳机

發布時間:2025/3/16 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nyoj 1217 GLaDOS的耳机 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

GLaDOS的耳機

時間限制:3000?ms ?|? 內存限制:65535?KB 難度:4 描述

????????GLaDOS是個耳機控。對于他來說,已經不滿足于只是聽出供電設備是水電、核電還是火電了。GLaDOS有更大的目標,他想聽出宇宙中最神秘的代號為"Y_A_FL"的聲音。為了實現這個目的,GLaDOS決定為他的耳機加工升級。但是笨手笨腳的GLaDOS表示加工升級神馬的太困難了。于是GLaDOS想請JX為他解決這個難題,而懶得不能再懶得JX又把這個難題交給了你,你能幫這兩個二貨解決這個問題么??
????????
現在,給你一個n,表示耳機上有n個點,相鄰的每兩個點間距為1單位長度。從左往右,每個點的編號分別為1,2,3...n。GLaDOS想要對這條耳機線進行m次操作。對于這條耳機線,GLaDOS有兩種操作:
?????????
⊙ 1 L R c d代表著GLaDOS想要為這條耳機線從L點到R點的這段區間上涂一層金屬漆(1<=L,R<=n)金屬漆的顏色為c(0<=c<=40000),新涂的金屬漆會將原有的金屬漆覆蓋,每單位長度的金屬漆重量為d(0<d<=1000)(最初耳機線的重量為0,沒有顏色)。
? ???????
⊙?2 L R?代表著GLaDOS想要知道耳機線在L點到R點這段區間內的重量。

?m次操作結束之后,GLaDOS想知道這根耳機線的總重量和這根耳機線上顏色的種數。

輸入
輸入包含多組數據(最多11組)
每組數據的第一行是兩個整數n,m(2<=n,m<=80000)分別表示耳機長度和GLaDOS的操作次數。
接著是m行,每行一個操作。
輸出
每組數據
對于每個操作2,你都將輸出1個整數,代表著在L到R這段區間內的耳機線的重量。
每組數據的最后一行,輸出耳機的總重量和顏色種數。
樣例輸入
1000 6 1 100 1000 1 10 2 500 621 1 7 842 2 10 2 500 621 1 100 347 3 23 2 120 217
樣例輸出
1210 2420 4171 23031 3
提示

數據量不小,建議使用scanf()輸入


解題思路:對于輸出重量,就是典型的線段樹區間求和。這里說一下怎么求顏色的種類。這里還是利用線段樹,我們知道越往后添加的顏色越有選擇的權利,即把之前的顏色覆蓋掉,所以我們這里可以倒著來把顏色添加進來,然后把這一段區間都添1,只要某一種顏色不能找到可以給它添加1的位置,那么這個顏色就已經被覆蓋掉了。這里要注意,要開long long,否則WA。。。


#include<iostream> #include<cstdio> #include<cstring> using namespace std;typedef long long LL; const int maxn = 80005; struct Seg {int l,r;LL sum,lazy; }tree[2][maxn<<2]; struct Node {int l,r,c; }color[maxn]; int n,m,cnt; bool vis[40005],done;void build(int rt,int l,int r) {tree[0][rt].l = l, tree[0][rt].r = r;tree[1][rt].l = l, tree[1][rt].r = r;tree[0][rt].sum = tree[0][rt].lazy = 0;tree[1][rt].sum = tree[1][rt].lazy = 0;if(l + 1 == r) return;int mid = (l + r) >> 1;build(rt<<1,l,mid);build(rt<<1|1,mid,r); }void PushDown(int rt) {if(tree[0][rt].lazy){tree[0][rt<<1].lazy += tree[0][rt].lazy;tree[0][rt<<1].sum += (tree[0][rt<<1].r - tree[0][rt<<1].l) * tree[0][rt].lazy;tree[0][rt<<1|1].lazy += tree[0][rt].lazy;tree[0][rt<<1|1].sum += (tree[0][rt<<1|1].r - tree[0][rt<<1|1].l) * tree[0][rt].lazy;tree[0][rt].lazy = 0;} }void update(int rt,int l,int r,int val) {if(l <= tree[0][rt].l && tree[0][rt].r <= r){tree[0][rt].sum += (tree[0][rt].r - tree[0][rt].l) * val;tree[0][rt].lazy += val;return;}PushDown(rt);int mid = (tree[0][rt].l + tree[0][rt].r) >> 1;if(l < mid) update(rt<<1,l,r,val);if(mid < r) update(rt<<1|1,l,r,val);tree[0][rt].sum = tree[0][rt<<1].sum + tree[0][rt<<1|1].sum; }void update(int rt,int l,int r) {if(tree[1][rt].sum == tree[1][rt].r - tree[1][rt].l) return;if(l <= tree[1][rt].l && tree[1][rt].r <= r){tree[1][rt].sum = tree[1][rt].r - tree[1][rt].l;done = true;return;}int mid = (tree[1][rt].l + tree[1][rt].r) >> 1;if(l < mid) update(rt<<1,l,r);if(mid < r) update(rt<<1|1,l,r);tree[1][rt].sum = tree[1][rt<<1].sum + tree[1][rt<<1|1].sum; }LL query(int rt,int l,int r) {if(l <= tree[0][rt].l && tree[0][rt].r <= r)return tree[0][rt].sum;PushDown(rt);LL ans = 0;int mid = (tree[0][rt].l + tree[0][rt].r) >> 1;if(l < mid) ans += query(rt<<1,l,r);if(mid < r) ans += query(rt<<1|1,l,r);return ans; }int main() {int op,l,r,c,d;while(scanf("%d %d",&n,&m)!=EOF){build(1,1,n);cnt = 0;memset(vis,false,sizeof(vis));while(m--){scanf("%d %d %d",&op,&l,&r);if(op == 1){scanf("%d %d",&c,&d);update(1,l,r,d);color[++cnt].l = l, color[cnt].r = r;color[cnt].c = c;}else printf("%lld\n",query(1,l,r));}int ans = 0;for(int i = cnt; i >= 1; i--){done = false;update(1,color[i].l,color[i].r);if(vis[color[i].c] == false){if(done == true) {ans++;vis[color[i].c] = true;}}}printf("%lld %d\n",tree[0][1].sum,ans);}return 0; }

總結

以上是生活随笔為你收集整理的nyoj 1217 GLaDOS的耳机的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚欧成人精品 | 99re在线| 亚洲精品aaaa | 国产不卡视频一区二区三区 | 亚洲一区二区三区免费 | 亚洲欧美在线看 | 精品少妇久久 | 东北少妇不带套对白 | 日本人の夫妇交换 | av成人天堂 | 一级片aaa| 超碰免费在 | 日本五十肥熟交尾 | 日韩性爰视频 | 久久精品国产免费看久久精品 | 国产精品久久久精品 | 天天碰天天 | 色秀av | 亚洲永久在线观看 | 最近2018年手机中文字幕版 | 51人人看| 日韩成人福利视频 | 青青操精品| 欧美成网 | 国产色 | 黄在线免费 | 久久久噜噜噜久久中文字幕色伊伊 | 国产女人和拘做受视频免费 | 天天干天天爽天天射 | 成人理论影院 | 男同互操gay射视频在线看 | 久久国产精品久久久 | 国产野外作爱视频播放 | 欧美日韩中文字幕视频 | 亚洲精品国 | 很污很黄的网站 | 成人亚洲国产 | 日本网站免费 | 9.1成人看片| 最全aⅴ番号库网 | 女人毛片视频 | 芒果视频污污 | 亚洲精品亚洲人成人网 | 91视频一区| 干干天天| 四虎久久久 | 日本a区 | 黄色在线小视频 | 久久精品aⅴ无码中文字字幕重口 | 中文字幕一区二区三区乱码在线 | 久久久久人 | 欧洲精品无码一区二区 | 亚洲天堂美女视频 | 欧美另类视频在线 | 婷久久 | 日韩天堂在线 | 国内三级视频 | 亚洲在线看 | 欧美激情一区二区三区 | 精品国产视频一区二区三区 | 欧美日韩少妇精品 | 亚洲第三区 | 银娇在线观看 | 欧美一级在线免费观看 | 天天久久综合网 | 91快色| 欧美男人的天堂 | 巨大乳の揉んで乳榨り奶水 | 蜜桃av影视 | 国产精品无码在线 | 天天操天天做 | 天天射天天搞 | 日视频| 成 年 人 黄 色 大 片大 全 | 亚色影库 | 午夜寂寞影视 | 国产wwww| 亚洲天堂avav| 久久久久久久久久电影 | 超碰成人免费在线 | 成人免费无码大片a毛片抽搐色欲 | 亚洲乱色熟女一区二区三区 | av丁香 | 久久理论 | 成人xxx视频| 色久在线 | 激情五月激情综合 | 中文字幕在线观看第一页 | 国产电影免费观看高清完整版视频 | 国产女主播在线播放 | 超碰碰97| 国产91色在线 | 有码av在线 | 妹子干综合网 | 日韩视频一区二区三区 | 欧美日韩中文在线观看 | 日日干,夜夜操 | 亚洲第一区在线播放 | 国产一久久 |