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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

pojBuy Tickets2828线段树或者树状数组(队列中倒序插队)

發(fā)布時間:2025/3/8 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pojBuy Tickets2828线段树或者树状数组(队列中倒序插队) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
這題開始的思路就是模擬:就像數(shù)組中插點一樣,每一個想買票的人都想往前插隊! 但是這樣的話肯定TLE, 看了別人的思路之后才恍然大悟! 正解:將開始的正序插入,變成倒序插入,這樣的話,想一想:第 i 個人想要插在 p[i]的位置上,那么就要保證所插入的位置之前一定要有 p[i]-1個空位!因為一定會有p[j]<p[i](0<=p[j]<=j,每個人都想往前插隊) 的第j個人插在p[i]的位置的前邊! 如果i<j; && p[i]==p[j], 倒序插入中,第j個人先插入, 那么第i個人在保證插入的位置之前有p[i]-1個空位的同時,又要插入到第 j 個人的后邊!

?



1
#include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<algorithm> 5 #define M 200005 6 using namespace std; 7 8 pair<int, int>per[M]; 9 int ret[M]; 10 int tree[M*4]; 11 int n; 12 13 void buildT(int p, int ld, int rd){ 14 if(ld==rd){ 15 tree[p]=1; 16 return ; 17 } 18 int mid=(ld+rd)>>1; 19 buildT(p<<1, ld, mid); 20 buildT(p<<1|1, mid+1, rd); 21 tree[p]=tree[p<<1]+tree[p<<1|1]; 22 } 23 24 void updateT(int p, int ld, int rd, int pos, int val){ 25 if(ld==rd){ 26 tree[p]=0; 27 ret[ld]=val; 28 return ; 29 } 30 int mid=(ld+rd)>>1; 31 if(tree[p<<1]>pos) 32 updateT(p<<1, ld, mid, pos, val); 33 else 34 updateT(p<<1|1, mid+1, rd, pos-tree[p<<1], val); 35 36 tree[p]=tree[p<<1]+tree[p<<1|1]; 37 } 38 39 int main(){ 40 int i; 41 while(scanf("%d", &n)!=EOF){ 42 buildT(1, 1, n); 43 for(i=1; i<=n; ++i) 44 scanf("%d%d", &per[i].first, &per[i].second); 45 for(i=n; i>=1; --i) 46 updateT(1, 1, n, per[i].first, per[i].second); 47 48 printf("%d", ret[1]); 49 for(i=2; i<=n; ++i) 50 printf(" %d", ret[i]); 51 printf("\n"); 52 } 53 return 0; 54 }

?

1 //樹狀數(shù)組~~不解釋 2 #include<iostream> 3 #include<cstring> 4 #include<cstdio> 5 #include<algorithm> 6 7 #define N 200005 8 using namespace std; 9 10 int tree[N]; 11 int pos[N], val[N]; 12 int ret[N]; 13 int n; 14 15 int lowbit(int x){ 16 return x&(-x); 17 } 18 19 void buildT(){ 20 for(int i=1; i<=n; ++i){ 21 tree[i]=0; 22 for(int j=i-lowbit(i)+1; j<=i; ++j) 23 tree[i]+=1; 24 } 25 } 26 27 void updateT(int x){ 28 while(x<=n){ 29 tree[x]-=1; 30 x+=lowbit(x); 31 } 32 } 33 34 int getSum(int x){ 35 int s=0; 36 while(x>0){ 37 s+=tree[x]; 38 x-=lowbit(x); 39 } 40 return s; 41 } 42 43 int main(){ 44 while(scanf("%d", &n)!=EOF){ 45 buildT(); 46 for(int i=1; i<=n; ++i){ 47 scanf("%d%d", &pos[i], &val[i]); 48 ret[i]=-1; 49 } 50 for(int i=n; i>=1; --i){ 51 int ld=1, rd=n; 52 bool flag=false; 53 while(ld<=rd){ 54 int mid=(ld+rd)>>1; 55 int s=getSum(mid); 56 //如果當前的位置沒有人插入并且該位置的之前的人數(shù)恰好為pos[i] 57 if(ret[mid]==-1 && s==pos[i]+1){ 58 updateT(mid); 59 ret[mid]=val[i]; 60 flag=true;//已經(jīng)找到不用在繼續(xù)尋找了 61 break; 62 } 63 else if(s>=pos[i]+1) 64 rd=mid-1; 65 else ld=mid+1; 66 } 67 if(!flag) ret[rd+1]=val[i];//直到找到當前的位置沒有人插入并且該位置的之前的人數(shù)恰好為pos[i] 68 } 69 printf("%d", ret[1]); 70 for(int i=2; i<=n; ++i) 71 printf(" %d", ret[i]); 72 printf("\n"); 73 } 74 return 0; 75 }

?

轉載于:https://www.cnblogs.com/hujunzheng/p/3885134.html

總結

以上是生活随笔為你收集整理的pojBuy Tickets2828线段树或者树状数组(队列中倒序插队)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 玩弄丰满少妇xxxxx性多毛 | 在线观看中文字幕亚洲 | 性色AV无码久久一区二区三 | 成年人视频在线看 | 欧美一级特黄aaaaaa大片在线观看 | 精品黄色一级片 | 欧美精品在线观看一区二区 | 午夜国产小视频 | 黄网站欧美内射 | 久久重口味| 嫩草社区 | 中午字幕在线观看 | 成人国产一区二区三区精品麻豆 | 97超级碰碰人妻中文字幕 | 三级网站免费 | 啪视频在线 | 成年人免费av | av在线男人天堂 | 国产精品字幕 | 国产精品久久一区二区三区动 | 污污的视频在线免费观看 | 免费观看成人鲁鲁鲁鲁鲁视频 | 亚洲影视一区二区 | 法国伦理少妇愉情 | 九色视频丨porny丨丝袜 | 男女无遮挡猛进猛出 | 中文字幕日韩精品亚洲一区小树林 | 亚洲一区二区视频在线播放 | 深夜视频在线播放 | 欧美精品一区二区免费 | 在线成人国产 | 国产精品亚洲一区二区三区 | 日韩av自拍偷拍 | 精品国产日本 | 欧美呦交 | 波多野吉衣一区 | 欧美一区二区三区小说 | 久久99精品国产麻豆婷婷 | 91精产品一区观看 | 免费人成在线观看视频播放 | 污污网站免费 | 久久无码精品丰满人妻 | 免费午夜影院 | 日本人妻不卡一区二区三区中文字幕 | 亚洲人成电影在线 | 欧美激情精品 | 日韩精品免费观看 | 玖玖玖视频 | 高h乱l高辣h文短篇h | 红桃视频国产精品 | 特级西西444www | 中文有码一区 | 日韩 国产 一区 | 超碰一级片 | 国产av成人一区二区三区 | 日韩视频在线一区二区 | 亚洲激情成人网 | 色偷偷av | 国产又黄又粗又爽 | 一二区视频 | 天天操天天干天天爽 | 国产亚洲精 | 亚洲成人精 | 国产肥白大熟妇bbbb视频 | 在线观看日本一区二区 | 妺妺窝人体色www在线小说 | 无码人妻h动漫 | 91刺激| 黄色污污网站 | 男女互操视频 | 无码国产色欲xxxx视频 | 免费伊人网| 91娇羞白丝| 激情视频免费观看 | 成人作爱视频 | 二区在线视频 | 中文字幕乱码免费 | 国产色网| 亚洲福利视频导航 | 一区二区三区四区五区六区 | 97麻豆视频| 亚洲23p | 欧美黄色免费视频 | 亚洲一区亚洲二区 | caoprom在线视频 | 香蕉视频污视频 | 少妇色视频 | 在线免费观看国产 | 天天看av | 偷拍自拍一区 | 日本精品少妇 | 国产全肉乱妇杂乱视频 | 免费的黄色一级片 | 日本xx视频 | 亚洲综合成人网 | 丰满岳乱妇在线观看中字无码 | 青草青在线视频 | 亚洲福利二区 | 浪漫樱花在线观看高清动漫 |