日韩性视频-久久久蜜桃-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(查询前驱)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久国内精品视频 | 成人免费看片载 | 亚洲精品在线看 | 让男按摩师摸好爽视频 | 免费国产黄色片 | 久久躁日日躁aaaaxxxx | 奇米第四色影视 | 一级免费av | 精品美女久久 | 国产精品久久久久蜜臀 | 欧美成人一区二区三区高清 | 国产一区二区网址 | 日韩精品成人av | 三级免费黄录像 | 91亚州| 中国少妇无码专区 | 免费久久视频 | 亚洲欧美在线一区 | 啪啪网视频| 波多野结衣亚洲视频 | 韩国av在线| 亚洲社区在线观看 | 国内精品一区二区 | 久久人人爽爽人人爽人人片av | 搞中出| 日韩羞羞| 欧美亚洲精品在线 | 超碰97在线人人 | a一级黄色片 | 呦呦网| 女人高潮潮呻吟喷水 | 亚洲草逼 | 五月激情综合婷婷 | 精品一级 | а√天堂资源在线 | 国产精品福利小视频 | 中文字幕精品久久久久人妻红杏1 | 高跟肉丝丝袜呻吟啪啪网站av | 麻豆changesxxx国产 | 欧美丰满一区二区免费视频 | 爱情岛论坛亚洲自拍 | 伊人888 | 国产精品久久久久久久毛片 | 久久不射视频 | 浪浪视频在线观看 | 日日日日日日 | 亚洲国产精品成人综合色在线婷婷 | 天天综合天天做天天综合 | 精品久久久999| 日韩国产传媒 | 日本精品在线观看视频 | 免费激情网站 | 亚洲国产精 | 婷婷一区二区三区四区 | 日本精品视频一区二区 | 国产精品视频导航 | 黄色性视频网站 | 中文久久精品 | 91爽爽 | 日韩深夜福利 | 亚洲国产精品欧美久久 | 搞中出 | 国产综合精品一区二区三区 | 国产精品成熟老女人 | 成人第一页 | 久久精品国产视频 | 国产精品无码久久久久成人app | 天天操天天射天天爽 | 久久久性色精品国产免费观看 | 亚洲久久成人 | 国产乱子伦视频一区二区三区 | 一品毛片 | 国产精伦| 久久精品成人一区二区三区蜜臀 | 久久午夜激情 | 12av在线| 天天爱天天爽 | 久久久九九九九 | 一区二区美女 | 久久久永久久久人妻精品麻豆 | 天天干狠狠爱 | 亚洲无码一区二区三区 | 涩涩免费网站 | 久久国产夫妻 | 一区二区国产精品视频 | 中文在线а√天堂官网 | 在线观看国产精品视频 | 精品国产福利 | 色99视频| cao在线视频 | av中文天堂在线 | 欧美视频久久久 | 自拍偷拍导航 | 涩涩涩涩涩涩涩涩涩 | 黄色大片网 | 麻豆视频精品 | 色伊人 | 日韩欧美资源 | 午夜大片 |