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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

数列分块入门3(查询前驱)

發布時間:2024/9/5 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数列分块入门3(查询前驱) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原題:http://www.caioj.cn/problem.php?id=1246

題解:本題要查詢前驅,即比x小的最大值??紤]分塊,對每個塊排序,二分查找x,維護個最大值。

#include<cstdio> #include<cstring> #include<algorithm> #include<vector> #include<cmath> #define reg register #define N 110000 #define M 550 using namespace std; int n,m,a[N],sum[M],pos[N]; vector<int> v[M];inline int rd(){int x=0;int f=1;char s=getchar();while(s>'9' || s<'0') f=(s=='-'?-1:f),s=getchar();while(s>='0' && s<='9')x=(x<<1)+(x<<3)+s-'0',s=getchar(); return x*f; } inline void reset(int x){v[x].clear();for(reg int i=(x-1)*m+1;i<=x*m;i++) v[x].push_back(a[i]);sort(v[x].begin(),v[x].end()); } inline void add(int l,int r,int c){for(reg int i=l;i<=min(r,pos[l]*m);i++) a[i]+=c;reset(pos[l]);if(pos[l]!=pos[r]) {for(reg int i=(pos[r]-1)*m+1;i<=r;i++) a[i]+=c;reset(pos[r]);}for(reg int i=pos[l]+1;i<=pos[r]-1;i++) sum[i]+=c; return ; }inline int query(int l,int r,int c){int ans=-1;for(int i=l;i<=min(r,pos[l]*m);i++) if(a[i]+sum[pos[i]]<c) ans=max(ans,a[i]+sum[pos[i]]);if(pos[l]!=pos[r]){for(reg int i=(pos[r]-1)*m+1;i<=r;i++) if(a[i]+sum[pos[i]]<c) ans=max(ans,a[i]+sum[pos[i]]);}for(reg int i=pos[l]+1;i<=pos[r]-1;i++){int p=lower_bound(v[i].begin(),v[i].end(),c-sum[i])-v[i].begin();//p-1if(p==0) continue;ans=max(ans,v[i][p-1]+sum[i]); } return ans; } int main(){ // freopen("input.in","r",stdin);n=rd();m=sqrt(n); for(reg int i=1;i<=n;i++) a[i]=rd(),pos[i]=(i-1)/m+1,v[pos[i]].push_back(a[i]);for(reg int i=1;i<=pos[n];i++) sort(v[i].begin(),v[i].end());for(reg int i=1,opt,l,r,c;i<=n;i++){opt=rd();l=rd();r=rd();c=rd();if(opt==0) add(l,r,c);else printf("%d\n",query(l,r,c));}return 0; }

?

轉載于:https://www.cnblogs.com/Exception2017/p/10252085.html

總結

以上是生活随笔為你收集整理的数列分块入门3(查询前驱)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 精品香蕉一区二区三区 | 亚洲va欧美va| 狠狠干在线观看 | 色欧美88888久久久久久影院 | 8mav在线 | 我的丝袜美腿尤物麻麻 | 国产在线天堂 | 久久精品五月天 | 内射干少妇亚洲69xxx | 欧美第三页 | 精品国产aⅴ麻豆 | 亚洲高清在线看 | 伊人久久大香线 | 亚洲区小说 | 一本色道久久综合狠狠躁 | 国产精品免费av | 精品人妻一区二区三区久久 | 黄色短视频在线观看 | 偷拍xxxx | 在线观看亚洲a | 青娱乐国产 | 加勒比毛片 | 欧美日韩精品在线 | 欧美性视频播放 | av播放在线 | 国产白丝av | 欧美一区二区三区免费看 | 午夜之声l性8电台lx8电台 | 成人二三区 | 国产精品视频一区二区三区在3 | av狠狠| 都市激情 自拍偷拍 | 欧美日韩成人免费 | 激情av在线 | 亚洲AV无码精品一区二区三区 | 最新国产精品视频 | 日本中文字幕视频在线 | 国产伦精品一区二区三区视频我 | 亚洲欧洲国产精品 | 人人妻人人澡人人爽精品日本 | 亚洲欧美一区二区三区孕妇 | 亚洲 欧美 日韩 综合 | 亚洲com | 日本少妇激情舌吻 | 欧美性猛交久久久久 | 爱啪啪导航 | 亚洲免费视频网站 | 精产国产伦理一二三区 | 四虎精品在线观看 | 中文字幕一区二区三区在线播放 | 97成人免费视频 | 亚洲av综合色区无码二区爱av | 欧美国产乱视频 | 九九在线免费视频 | 巨胸爆乳美女露双奶头挤奶 | www.四虎.com| 另类性姿势bbwbbw | 嫩草伊人久久精品少妇av | 国产精品一区二区视频 | 欧美精品久久久久性色 | 国产精品国产三级国产aⅴ9色 | 在线观看1区 | 欧美不卡一区二区三区 | 91午夜精品亚洲一区二区三区 | 国产精品一区二区三区免费看 | 日日干夜夜骑 | 欧美一级录像 | 国产精品一级视频 | 欧美亚洲一区二区三区四区 | 一区二区中文字幕 | 久久综合综合 | 欧美成人三级在线视频 | 青青草综合 | 日韩一区二区av | 性感美女视频一二三 | 韩国久久久久久 | 久久久久国产 | 久久久在线免费观看 | 99久久99久久精品免费看蜜桃 | 大学生一级片 | 亚洲88av| 欧美操穴视频 | 亚洲欧美激情精品一区二区 | 成人一级黄色片 | 国产精品一二三四五 | 久久3p| 黄页视频在线观看 | 国产成人精品一区二三区四区五区 | 四虎少妇做爰免费视频网站四 | 欧美视频黄色 | 色污网站 | 五月婷婷天堂 | 俺也来俺也去俺也射 | 秋霞国产午夜精品免费视频 | 欧洲色视频 | 国产精品第157页 | 日韩黄色精品 | 在线观看av一区 | av一区在线观看 |