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

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

【POJ 3667】Hotel

2019-11-11 07:55:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

POJ 3667

題意

有n個(gè)房間和k個(gè)操作,最開始全部為空。操作1:輸入一個(gè)數(shù)d,找出連續(xù)d個(gè)空房間,輸出起點(diǎn)房間編號(hào)。若有多個(gè)輸出最小的,如果不存在輸出0。操作2:輸入兩個(gè)數(shù)x和d,清空從x開始的d個(gè)房間。

樣例輸入

10 6 1 3 1 3 1 3 1 3 2 5 5 1 6

樣例輸出

1 4 7 0 5


sol

用線段樹維護(hù),每個(gè)節(jié)點(diǎn)存儲(chǔ)三個(gè)值msum,lsum,rsum。msum表示當(dāng)前區(qū)間最長(zhǎng)的連續(xù)空房間數(shù)量;lsum表示當(dāng)前區(qū)間[l,r]中從l開始連續(xù)向右空房間數(shù)量;rsum表示當(dāng)前區(qū)間[l,r]中從r開始連續(xù)向左空房間數(shù)量。 主要的操作集中在如何更新父節(jié)點(diǎn)(也就是區(qū)間合并操作)。

首先,把左孩子的lsum賦給自己的lsum,rsum同理。

lsum[rt] = lsum[rt<<1];rsum[rt] = rsum[rt<<1|1];

這時(shí)候如果左孩子全部為空,則可以和右孩子左側(cè)的空房間連接在一起。同理,如果右孩子全部為空,則可以和左孩子右側(cè)德空房間連接在一起。

if (lsum[rt] == m - (m >> 1)) lsum[rt] += lsum[rt<<1|1]; if (rsum[rt] == (m >> 1)) rsum[rt] += rsum[rt<<1];

msum有兩三種計(jì)算方法:空房間全部在左孩子;空房間全部在右孩子;空房間從左孩子的右側(cè)到右孩子的左側(cè)。

msum[rt] = max(lsum[rt<<1|1]+rsum[rt<<1],max(msum[rt<<1],msum[rt<<1|1]));

這就是區(qū)間合并的寫法:

void pushup(int rt,int m) //更新父節(jié)點(diǎn) { lsum[rt] = lsum[rt<<1]; rsum[rt] = rsum[rt<<1|1]; if (lsum[rt] == m - (m >> 1)) lsum[rt] += lsum[rt<<1|1]; //若左孩子全為空 則和右孩子合并 if (rsum[rt] == (m >> 1)) rsum[rt] += rsum[rt<<1]; msum[rt] = max(lsum[rt<<1|1]+rsum[rt<<1],max(msum[rt<<1],msum[rt<<1|1]));//左孩子或右孩子或在中間合并 }

查詢時(shí),也是分為三種情況: 空房間全部在左孩子:if (msum[rt<<1] >= w) return query(w,lson); 空房間橫跨左孩子和右孩子:if (rsum[rt<<1] + lsum[rt<<1|1] >= w) return mid - rsum[rt<<1] + 1; 空房間全部在右孩子:return query(w,rson);

完整代碼:

#include<cmath>#include<cstdio>#include<vector>#include<cstring>#include<iomanip>#include<stdlib.h>#include<iostream>#include<algorithm>#define ll long long#define inf 1000000000#define mod 1000000007#define N 1000000#define lson l,mid,rt << 1#define rson mid+1,r,rt << 1 | 1using namespace std;int n,m,op,a,b;int lsum[N],rsum[N],msum[N],cover[N];void build(int l,int r,int rt) //msum當(dāng)前區(qū)間最長(zhǎng)連續(xù)空 l/rsum前綴/后綴最長(zhǎng)連續(xù)空 { msum[rt] = lsum[rt] = rsum[rt] = r - l + 1; cover[rt] = -1; if (l == r) return; int mid = (l + r) >> 1; build(lson); build(rson);}void pushdown(int rt,int m) //標(biāo)記下傳 { if (cover[rt] != -1) { cover[rt<<1] = cover[rt<<1|1] = cover[rt]; if (cover[rt] == 0) msum[rt<<1] = lsum[rt<<1] = rsum[rt<<1] = m - (m >> 1); else msum[rt<<1] = lsum[rt<<1] = rsum[rt<<1] = 0; if (cover[rt] == 0) msum[rt<<1|1] = lsum[rt<<1|1] = rsum[rt<<1|1] = m >> 1; else msum[rt<<1|1] = lsum[rt<<1|1] = rsum[rt<<1|1] = 0; cover[rt] = -1; }}void pushup(int rt,int m) //更新父節(jié)點(diǎn) { lsum[rt] = lsum[rt<<1]; rsum[rt] = rsum[rt<<1|1]; if (lsum[rt] == m - (m >> 1)) lsum[rt] += lsum[rt<<1|1]; //若左孩子全為空 則和右孩子合并 if (rsum[rt] == (m >> 1)) rsum[rt] += rsum[rt<<1]; msum[rt] = max(lsum[rt<<1|1]+rsum[rt<<1],max(msum[rt<<1],msum[rt<<1|1]));//左孩子或右孩子或在中間合并 }void update(int L,int R,int c,int l,int r,int rt){ if (L <= l && r <= R) { if (c == 0) msum[rt] = lsum[rt] = rsum[rt] = r - l + 1; else msum[rt] = lsum[rt] = rsum[rt] = 0; cover[rt] = c; return; } pushdown(rt,r-l+1); int mid = (l + r) >> 1; if (L <= mid) update(L,R,c,lson); if (mid < R) update(L,R,c,rson); pushup(rt,r-l+1);}int query(int w,int l,int r,int rt){ if (l == r) return l; pushdown(rt,r-l+1); int mid = (l + r) >> 1; if (msum[rt<<1] >= w) return query(w,lson); else if (rsum[rt<<1] + lsum[rt<<1|1] >= w) return mid - rsum[rt<<1] + 1; return query(w,rson); }int main(){ cin>>n>>m; build(1,n,1); while (m--) { cin>>op; if (op == 1) { scanf("%d",&a); if (msum[1] < a) cout<<0<<endl; else { int p = query(a,1,n,1); cout<<p<<endl; update(p,p+a-1,1,1,n,1); } } else { scanf("%d%d",&a,&b); update(a,a+b-1,0,1,n,1); } } return 0;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
欧美aaa级片| 久久久国产精品一区二区三区| 美女黄页在线观看| 国产小视频免费在线网址| 97久久精品人搡人人玩| 国产精品视频二区三区| 蜜臀久久99精品久久久| 蜜桃网站在线观看| 成av人片一区二区| 男男电影完整版在线观看| 不卡av中文字幕| 97视频免费在线观看| 国产精品日韩欧美一区二区三区| 欧美日韩一区二区三区四区五区| 欧美日韩一区二区三区视频播放| 婷婷综合久久一区二区三区| 色哟哟日韩精品| 国产999在线观看| 69精品无码成人久久久久久| 日韩国产一区久久| 99久久久国产精品| 欧美中文一区二区三区| 美女任你摸久久| 奇米视频888战线精品播放| 日韩美女一区二区三区四区| 国产欧美日韩亚洲一区二区三区| 91精品国产乱码久久| 日韩免费在线视频| 精品视频一区三区九区| 久久久全国免费视频| 中文字幕久久熟女蜜桃| 最近中文字幕无免费| 亚洲国产综合在线看不卡| 色丁香久综合在线久综合在线观看| 538任你躁精品视频网免费| 久久免费公开视频| 国产欧美日韩精品一区二区免费| 亚洲欧美激情诱惑| 激情伊人五月天久久综合| 夜夜夜久久久| 久久人妻少妇嫩草av无码专区| 亚洲一二区在线观看| 九九热在线观看视频| 欧美一性一乱一交一视频| 天美传媒免费在线观看| 91一区二区三区四区| 亚洲乱码av中文一区二区| 国产精品视频一区二区三区综合| 久久伦理网站| 精品亚洲一区二区三区四区五区| 国产乱国产乱老熟300部视频| 青青草视频社区| 亚洲色图色老头| 成年人小视频在线观看| 国产欧美88| 久久成年人视频| 亚洲精品国产精品国自产观看| 久久久久久欧美精品色一二三四| 97精品人妻一区二区三区蜜桃| 国产suv精品一区二区| 亚洲av熟女国产一区二区性色| 日韩免费一区| 久久不射热爱视频精品| 欧美国产高跟鞋裸体秀xxxhd| 永久免费未满蜜桃| 欧美成人milf| 久久国产精品1区2区3区网页| 久久精品国产sm调教网站演员| 一本一道久久a久久综合精品| 17videosex性欧美| 不卡的国产精品| 婷婷激情五月综合| 亚洲精品午夜精品| 国内免费久久久久久久久久久| 狠狠色成人综合网图片区| 欧美成人精品激情在线观看| 天堂а√在线中文在线鲁大师| 午夜视频一区| 久久香蕉综合色一综合色88| 4480yy私人影院高清不卡| 337人体粉嫩噜噜噜| av在线看片| 黄色a级片在线观看| 成年网站在线在免费播放| 天天综合91| 成人三级视频在线观看一区二区| 亚洲精品网址在线观看| 91精产国品一二三| 夜夜嗨av禁果av粉嫩avhd| 日韩成人在线看| 特级毛片在线观看| 国产激情精品一区二区三区| 天干夜夜爽爽日日日日| 69视频在线免费观看| 不卡一区二区三区四区| 欧美久久久久久久久久久| 综合网插菊花| 少妇人妻丰满做爰xxx| 麻豆久久一区| 欧洲av一区二区三区| 国产精品亚洲电影久久成人影院| 视频在线观看91| mm1313亚洲国产精品无码试看| 亚洲级视频在线观看免费1级| 欧美bbb人妖| 亚洲人成网站在线播| 日韩美女在线看| 在线电影院国产精品| 亚洲男女自偷自拍图片另类| 成人免费看黄网址| 午夜视黄欧洲亚洲| 免费看毛片网站| 国产精品一级久久久| 欧美性videos| 日韩免费观看视频| 最新av电影网站| 欧美日韩国产欧美日美国产精品| 欧美国产亚洲一区| 男女啪啪免费视频网站| 色一情一乱一伦一区二区三欧美| 男女高潮又爽又黄又无遮挡| 久久99青青精品免费观看| 久久久久久久伊人| 国产一级做a爱免费视频| 欧美黄色片免费观看| 中国china体内裑精亚洲片| 亚洲精品国产精品自产a区红杏吧| 136fldh精品导航福利| 成人高清视频在线观看| 久久av免费一区| 亚洲国产av一区二区三区| 国产第一页第二页| 亚洲精品天堂| 久草福利资源在线视频| 国产精品熟妇一区二区三区四区| 影音先锋日韩有码| av动漫免费看| 久久久久久一级片| 亚洲国产成人一区二区三区| 欧美日韩精品欧美日韩精品一| 国产精品亚洲αv天堂无码| 三级一区在线视频先锋| 国产在线精选视频| 欧美亚洲一区二区在线| 久久久久九九视频| 欧美中文字幕在线| 日韩免费av在线| 国产日韩三级在线| 亚洲一卡二卡三卡四卡无卡久久| 久久精品国产sm调教网站演员| 天天干天天操天天爽| 蜜芽视频在线观看| 国产性生活一级片| 欧美巨大黑人极品精男| 久久久久国产成人精品亚洲午夜| 北条麻妃在线一区| 天天射天天爱天天射干| 亚洲国产精品一区二区久久hs| 国产毛片视频| 日韩伦理在线视频| 欧美多人爱爱视频网站| 在线看不卡av| 亚洲视频网站在线观看| 亚洲精品午夜国产va久久成人| 欧洲av一区二区三区| 中文字幕免费观看视频| 亚洲电影在线观看| 美女少妇精品视频| 奇米影音第四色| 亚洲精品国自产拍在线观看| 成人一区二区三区中文字幕| 久久精品亚洲国产奇米99| 国产精品va在线| 午夜激情视频在线| 18视频在线观看网站| 国产精品第一页在线观看| 蜜臀va亚洲va欧美va天堂| 国产视频一区二| 极品尤物av丝袜美腿在线观看| 国产一区二区三区四区五区在线| 国产极品美女到高潮| 成人激情五月天| 日韩中文不卡| 伊人伊成久久人综合网站| 丰满人妻一区二区三区免费视频棣| 日韩电影免费看| 午夜免费视频在线国产| 国产视频一二区| av在线播放一区二区| 最近中文视频在线| 国产精品久久久一区二区三区| 免费成人高清在线视频theav| 免费福利视频一区二区三区| 亚洲一区资源| 亚洲天堂日韩电影| 一个人看的www在线免费视频| 亚洲综合久久av一区二区三区| 国产情侣久久久久aⅴ免费| h在线观看网站| 免费黄色在线看| 一级毛片在线| 国产精品视频免费一区| www.久久国产| 欧美日本韩国在线| 中文字幕久久亚洲| 欧美午夜精品理论片| 91福利精品第一导航| 黑料不打烊so导航| 97超碰在线资源站| 中文字幕在线观看视频www| 成人黄色a**站在线观看| 日本肉肉一区| 天堂а√在线中文在线新版| 貂蝉被到爽流白浆在线观看| 国产99在线|中文| 日本夜夜草视频网站| 日本高清免费不卡视频| 国产人成一区二区三区影院| 欧美人成在线观看网站高清| 欧美性bbwbbwbbwhd| 久久亚洲精华国产精华液| 成人三级毛片| 日韩精品视频免费播放| 日韩色视频在线观看| 狠狠躁少妇一区二区三区| 亚洲国产mv| 国产高潮久久久| 欧美激情午夜| 日本a级不卡| 亚洲精品国产无套在线观| 无码精品a∨在线观看中文| 国语自产精品视频在线看抢先版图片| 精品入口麻豆88视频| 一区二区激情小说| 中国人体摄影一区二区三区| 在线亚洲国产精品网站| 免费视频观看成人| 天天噜天天色| 亚洲免费观看高清完整版在线观| 成年人黄视频在线观看| 国产精品亚洲第一| 91jq激情在线观看| 日日摸夜夜夜夜夜添| 欧美精品一区二区不卡| 午夜精品免费观看| 日本最新高清不卡中文字幕| 国产小视频免费观看| 成人精品一区二区三区校园激情| 久久精品国产亚洲777| 日本免费久久高清视频| 亲子伦视频一区二区三区| 国产精品免费网站在线观看| 第一sis亚洲原创| 成人小视频在线播放| 色老头久久综合| www.99视频| 亚洲小说图片| 精品久久久久久久久久岛国gif| 噜噜噜久久亚洲精品国产品麻豆| 久久久精品久久| 在线亚洲一区二区| 992tv免费直播在线观看| 精品久久久久久久久国产字幕| 国产精品久久国产愉拍| 国产精品suv一区二区88| 亚洲va天堂va国产va久| 黄p免费网站| 日本一线产区和二线产区| 人妻换人妻仑乱| 欧美激情中文字幕在线| 亚洲午夜精品久久久久久app| 久久高清免费观看| 九色在线视频观看| 亚洲毛片播放| 日韩专区第三页| 日韩一级性生活片| 色欧美片视频在线观看在线视频| 圆产精品久久久久久久久久久| 天堂av资源在线观看| 国产不卡高清在线观看视频| 成人日韩av在线| 国产精品15p| 亚洲一区精品在线| 国产亚洲欧美一区二区| 欧美大片免费观看在线观看网站推荐| 最近中文字幕mv在线一区二区三区四区| 18精品爽国产三级网站| 麻豆精品蜜桃视频网站| 艳母动漫在线看| 99精品在线看| 蜜桃麻豆www久久国产精品| 欧美性猛交一区二区三区精品| 最新国产在线视频| 波多野结衣手机在线视频| 女人在下体塞跳蛋在线观看| 国产精品国产对白熟妇| 在线观看国产一区二区三区| 日韩一区二区三区高清免费看看| 7777精品伊人久久久大香线蕉经典版下载| 91精品人妻一区二区三区四区| 久久久久久毛片免费看| 免费一级电影| 黑人粗进入欧美aaaaa| 一本色道久久综合狠狠躁篇的优点| 成人免费视频观看| 日本中文字幕在线不卡| 欧美美女性生活视频| 男女无套免费网站| 国产成人精品综合在线观看| 97操在线视频| 国产精品视频久久久久久| 这里只有视频精品| 日本欧美视频在线观看| 激情成人中文字幕| 又黄又爽无遮挡| 亚洲啊v在线| 欧美亚洲国产一区在线观看网站| 久久久久久久久久久国产精品| 久久免费在线观看视频| 亚洲国产aⅴ成人精品无吗| 九七影院理论片| 男男一级淫片免费播放| 一二三四社区欧美黄| 亚洲国产精彩视频| 中文字幕一区二区三区中文字幕| 你懂的视频网| 激情自拍一区| 99re国产在线播放|