亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

HDU 5306 Gorgeous Sequence 線段樹

2019-11-14 13:07:50
字體:
來源:轉載
供稿:網友

Gorgeous Sequence

讀完題,可以知道顯然要維護最大值和區間和,可以用線段樹。寫著寫著感覺第一種操作好像不能延遲更新,然后就不會了。。。 查題解的時候發現都是線段樹,不過各有各的做法,后來有一種說是吉如一論文中介紹的,可以證明每次操作均攤復雜度為 O(logN) 。這個論文的標題我倒是找到了(吉如一 -《區間最值操作與歷史最值問題》)然而論文沒找到。。。 做法如下:線段樹的每個節點記錄最大值a,次大值b,區間和sum,以及最大值個數cnt。當進行第一種操作時,

如果當前節點有 a≤t ,則直接退出。這個很好理解,即區間內所有數都不變。如果當前節點有 b<t,則先利用 acnt 更新sum 再更新 a 后退出。這里要注意的是絕對不能加等號!若 b=t 也是如此退出,則之后的次大值和最大值個數都不準確【沒錯我就是因為這個WA了幾次 ←_←直接往下遞歸

第二種第三種為線段樹常規的操作,不表。 期間還發生一件事,找了一份3k+的代碼邊抄邊理解然后調了半天終于A了,結果又找到一份代碼,感覺非常好懂而且只有2k+,于是又照著這個寫了一遍。。??梢娎硭悸肥嵌嗝吹闹匾?。。。

#include <bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<int,int> PII;#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define ls rt<<1#define rs rt<<1|1const int maxn = 1000000;struct Seg { ll sum; int a,b,cnt; void spfy(int t) { if (a<=t) return; sum-=(ll)(a-t)*cnt; a=t; }} s[maxn<<2];void push_up(int rt){ s[rt].sum=s[ls].sum+s[rs].sum; s[rt].a=max(s[ls].a,s[rs].a); s[rt].b=max(s[ls].b,s[rs].b); s[rt].cnt=0; if (s[ls].a==s[rt].a) s[rt].cnt+=s[ls].cnt; else s[rt].b=max(s[rt].b,s[ls].a); if (s[rs].a==s[rt].a) s[rt].cnt+=s[rs].cnt; else s[rt].b=max(s[rt].b,s[rs].a);}void push_down(int rt){ s[ls].spfy(s[rt].a); s[rs].spfy(s[rt].a);}void build(int l,int r,int rt){ if (l==r) { scanf("%d",&s[rt].a); s[rt].sum=s[rt].a; s[rt].b=-1; s[rt].cnt=1; return; } int m=(l+r)>>1; build(lson); build(rson); push_up(rt);}void update(int L,int R,int t,int l,int r,int rt){ if (s[rt].a<=t) return; if (L<=l&&r<=R&&s[rt].b<t) {/* Do not add '=' !!! if s[rt].b == t, it supposed to be push_down, because s[rt].b, s[rt].cnt cannot be determined. */ s[rt].spfy(t); return; } push_down(rt); int m=(l+r)>>1; if (L<=m&&s[ls].a>t) update(L,R,t,lson); if (R>m&&s[rs].a>t) update(L,R,t,rson); push_up(rt);}int getmax(int L,int R,int l,int r,int rt){ if (L<=l&&r<=R) return s[rt].a; int m=(l+r)>>1; int res=0; push_down(rt); if (L<=m) res=max(res,getmax(L,R,lson)); if (m<R) res=max(res,getmax(L,R,rson)); return res;}ll getsum(int L,int R,int l,int r,int rt){ if (L<=l&&r<=R) return s[rt].sum; int m=(l+r)>>1; ll res=0; push_down(rt); if (L<=m) res+=getsum(L,R,lson); if (m<R) res+=getsum(L,R,rson); return res;}int main(){ int T,n,m; scanf("%d",&T); while (T--) { scanf("%d%d",&n,&m); build(1,n,1); while (m--) { int op,x,y; scanf("%d%d%d",&op,&x,&y); if (op==0) { int t; scanf("%d",&t); update(x,y,t,1,n,1); } else if (op==1) {
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
在线亚洲男人天堂| 91久久久久久久久久久| 欧洲成人免费视频| 欧美在线激情网| 欧美日韩综合视频网址| 国产精品久久999| 亚洲精品999| 欧美wwwxxxx| 午夜欧美不卡精品aaaaa| 久久久久久久色| 亚洲欧美日韩区| 亚洲xxxx在线| 欧美午夜片在线免费观看| 久久精品99久久久久久久久| 欧美噜噜久久久xxx| 久久久久这里只有精品| 国产欧美日韩免费| 欧美福利视频网站| 日本一区二区不卡| 国语自产偷拍精品视频偷| 亚洲精品免费一区二区三区| 日韩免费视频在线观看| 国产亚洲综合久久| 欧美在线精品免播放器视频| 日韩精品亚洲视频| 色黄久久久久久| 欧美日韩久久久久| 久久中文精品视频| 91精品国产自产91精品| 欧美精品激情blacked18| 欧美日韩国产丝袜美女| 久久夜精品香蕉| 欧美大片欧美激情性色a∨久久| 欧美做爰性生交视频| 国产精品丝袜久久久久久不卡| 久久中国妇女中文字幕| 奇米四色中文综合久久| 亚洲国产精品美女| 亚洲sss综合天堂久久| 午夜精品蜜臀一区二区三区免费| 98精品在线视频| 中文字幕欧美日韩精品| 亚洲一区制服诱惑| 亚洲最新在线视频| 久久久精品在线| 亚洲人成自拍网站| 亚洲国产精品va在线观看黑人| 欧美电影在线免费观看网站| 91九色国产视频| 亚洲精品aⅴ中文字幕乱码| 91亚洲永久免费精品| 97色在线视频观看| 亚洲综合精品伊人久久| 国产精品男人爽免费视频1| 欧美中文字幕视频在线观看| 91久久在线视频| 亚洲福利影片在线| 欧美日韩人人澡狠狠躁视频| 亚洲自拍偷拍福利| 国产精品久久久久久一区二区| 国产成人精品综合| 亚洲欧美制服中文字幕| 欧洲日韩成人av| 欧美激情乱人伦一区| 国产精品久久久久久久天堂| 国产精品久久久久影院日本| 亚洲欧美日韩精品久久| 国产91ⅴ在线精品免费观看| 日韩电视剧免费观看网站| 精品国产一区二区三区四区在线观看| 欧美另类老肥妇| 国产精品久久久久免费a∨大胸| 成人在线视频福利| 亚洲午夜久久久影院| 国色天香2019中文字幕在线观看| 清纯唯美日韩制服另类| 欧美极品少妇xxxxx| 国产91精品久久久久久久| 91av在线播放| 日韩精品黄色网| 欧美精品第一页在线播放| 色婷婷**av毛片一区| 亚洲第一网站免费视频| 亚洲欧美国产精品专区久久| 国产精品视频免费在线观看| 欧美日韩激情网| 精品国产一区av| 欧美午夜激情在线| 亚洲国内精品在线| 成人福利视频在线观看| 色综合老司机第九色激情| 色久欧美在线视频观看| 欧美怡春院一区二区三区| 久久综合久久88| 日韩在线中文字| 日韩视频免费中文字幕| 欧美中文字幕视频在线观看| 欧美疯狂xxxx大交乱88av| 亚洲欧洲美洲在线综合| 久久大大胆人体| 欧美日韩午夜视频在线观看| 亚洲国产小视频在线观看| 欧美日韩精品在线播放| 欧美精品久久久久| 自拍偷拍亚洲欧美| 国产精品视频公开费视频| 久久久久久伊人| 91精品久久久久久久久久久| 久久精品国产清自在天天线| 日本高清+成人网在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 日韩av影院在线观看| 亚洲色图第三页| 91av在线国产| 一个人www欧美| 久久韩国免费视频| 久久精品久久久久久| 精品久久久久久中文字幕大豆网| 精品久久久久久久大神国产| 欧美日韩亚洲精品内裤| 国内偷自视频区视频综合| 91国内精品久久| 欧美性在线视频| 一本色道久久88综合亚洲精品ⅰ| 亚洲综合精品伊人久久| 久久国产精品影视| 成人激情av在线| 国产精品福利在线观看网址| 亚洲天堂一区二区三区| 国产一区二区丝袜高跟鞋图片| 日韩视频在线观看免费| 亚洲欧洲在线看| 日韩中文字幕av| 欧洲精品毛片网站| 国产精品一二三在线| 国产精品毛片a∨一区二区三区|国| 国产99久久久欧美黑人| 在线播放日韩专区| 国产精品自产拍高潮在线观看| 国产午夜精品视频免费不卡69堂| 欧美日韩在线视频观看| 亚洲少妇中文在线| 久久艹在线视频| 精品国产精品三级精品av网址| 色偷偷偷综合中文字幕;dd| 国内久久久精品| 51精品国产黑色丝袜高跟鞋| 精品国产一区久久久| 国产精品日韩电影| 亚洲一区二区三区乱码aⅴ| 91香蕉国产在线观看| 欧美亚洲在线视频| 日韩在线观看你懂的| 国产一区二区三区视频在线观看| 在线看欧美日韩| 色妞色视频一区二区三区四区| 国产98色在线| 久久精品成人欧美大片古装| 亚洲欧洲av一区二区| 国产极品jizzhd欧美| 亚洲无限乱码一二三四麻| 国产亚洲视频中文字幕视频| 亚洲欧洲午夜一线一品| 国产精品99免视看9|