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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

BZOJ1795 : [Ioi2008]Pyramid Base 金字塔地基

發布時間:2024/1/17 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ1795 : [Ioi2008]Pyramid Base 金字塔地基 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.$B>0$

二分答案,然后掃描線,線段樹維護某個點作為左下角時的費用的最小值,支持區間加。

時間復雜度$O(n\log^2n)$。

?

2.$B=0$

枚舉左邊界,則最優右邊界可以通過雙指針求出。

用線段樹維護左右邊界之間最長的豎著的空的連續段的長度。

找到最大的連續段長度$\geq$左右邊界距離的位置,此時的距離就是答案。

時間復雜度$O(n\log n)$。

?

#include<cstdio> #include<algorithm> using namespace std; int n,m,B,P; inline void read(int&a){char c;while(!(((c=getchar())>='0')&&(c<='9')));a=c-'0';while(((c=getchar())>='0')&&(c<='9'))(a*=10)+=c-'0';} namespace BinarySearch{ const int N=30010,M=2100000; int i,j,l,r,mid,ans,ce,v[M],tag[M]; struct O{int a,b,c,d,p;}a[N]; struct E{int x,l,r,p;E(){}E(int _x,int _l,int _r,int _p){x=_x,l=_l,r=_r,p=_p;}}e[N*2]; inline bool cmp(const E&a,const E&b){return a.x<b.x;} void build(int x,int a,int b){v[x]=tag[x]=0;if(a==b)return;int mid=(a+b)>>1;build(x<<1,a,mid),build(x<<1|1,mid+1,b); } inline void add1(int x,int p){v[x]+=p;tag[x]+=p;} void add(int x,int a,int b,int c,int d,int p){if(c<=a&&b<=d){add1(x,p);return;}if(tag[x])add1(x<<1,tag[x]),add1(x<<1|1,tag[x]),tag[x]=0;int mid=(a+b)>>1;if(c<=mid)add(x<<1,a,mid,c,d,p);if(d>mid)add(x<<1|1,mid+1,b,c,d,p);v[x]=min(v[x<<1],v[x<<1|1]); } inline bool check(int mid){for(ce=0,i=1;i<=P;i++){int A=a[i].a-mid+1,B=a[i].b-mid+1,C=a[i].c,D=a[i].d;A=max(A,1),B=max(B,1),C=min(C,n-mid+1),D=min(D,m-mid+1);if(A<=C&&B<=D)e[++ce]=E(A,B,D,a[i].p),e[++ce]=E(C+1,B,D,-a[i].p);}sort(e+1,e+ce+1,cmp);build(1,1,m-mid+1);for(i=j=1;i<=n-mid+1;i++){while(j<=ce&&e[j].x<=i)add(1,1,m-mid+1,e[j].l,e[j].r,e[j].p),j++;if(v[1]<=B)return 1;}return 0; } void solve(){for(i=1;i<=P;i++)read(a[i].a),read(a[i].b),read(a[i].c),read(a[i].d),read(a[i].p);l=1,r=min(n,m);while(l<=r)if(check(mid=(l+r)>>1))l=(ans=mid)+1;else r=mid-1;printf("%d",ans); } } namespace Sweep{ const int N=1000010,M=2100000; int A,B,C,D,i,j,k,ans,gi[N],gd[N],v[N],w[N],nxt[N],ed; int tag[M],len[M],vl[M],vr[M],vm[M]; inline void add(int&x,int y,int z){v[++ed]=y;w[ed]=z;nxt[ed]=x;x=ed;} void build(int x,int a,int b){len[x]=vl[x]=vr[x]=vm[x]=b-a+1;if(a==b)return;int mid=(a+b)>>1;build(x<<1,a,mid),build(x<<1|1,mid+1,b); } inline void up(int x){if(tag[x]){vl[x]=vr[x]=vm[x]=0;return;}if(len[x]==1){vl[x]=vr[x]=vm[x]=1;return;}vl[x]=vl[x<<1];if(vl[x<<1]==len[x<<1])vl[x]+=vl[x<<1|1];vr[x]=vr[x<<1|1];if(vr[x<<1|1]==len[x<<1|1])vr[x]+=vr[x<<1];vm[x]=max(max(vm[x<<1],vm[x<<1|1]),vr[x<<1]+vl[x<<1|1]); } void add(int x,int a,int b,int c,int d,int p){if(c<=a&&b<=d){tag[x]+=p;up(x);return;}int mid=(a+b)>>1;if(c<=mid)add(x<<1,a,mid,c,d,p);if(d>mid)add(x<<1|1,mid+1,b,c,d,p);up(x); } void solve(){while(P--)read(A),read(B),read(C),read(D),read(k),add(gi[A],B,D),add(gd[C],B,D);build(1,1,m);for(i=1;i<=n;i++){for(k=gd[i-1];k;k=nxt[k])add(1,1,m,v[k],w[k],-1);while(vm[1]>=j-i+1&&j<=n)for(k=gi[++j];k;k=nxt[k])add(1,1,m,v[k],w[k],1);ans=max(ans,j-i);}printf("%d",ans); } } int main(){read(n),read(m),read(B),read(P);if(B)BinarySearch::solve();else Sweep::solve();return 0; }

  

轉載于:https://www.cnblogs.com/clrs97/p/5648487.html

總結

以上是生活随笔為你收集整理的BZOJ1795 : [Ioi2008]Pyramid Base 金字塔地基的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久国产柳州莫菁门 | 九九热色 | 欧美视频网站 | 色综合中文 | 日韩av在线播 | 黑人干亚洲女 | 国产精品久久久久久三级 | 四虎少妇做爰免费视频网站四 | 欧美三级在线看 | 国产精品videos | 欧美日韩国产第一页 | 97色涩| 91porny在线| 性做久久久久久久免费看 | 欧美3p在线观看 | 韩国明星乱淫(高h)小说 | 日本簧片在线观看 | 蜜臀av在线播放 | julia一区二区 | 一区二区三区日韩欧美 | 爱爱网站视频 | 网站毛片 | 无套内谢大学处破女www小说 | 在线免费黄色网 | 亚洲永久无码精品 | 中文字幕在线视频第一页 | 免费看黄色一级大片 | 日本欧美中文字幕 | 婷婷激情小说网 | 经典一区二区 | 男人操女人的网站 | 性欧美17一18内谢 | 超级砰砰砰97免费观看最新一期 | av鲁丝一区鲁丝二区鲁丝三区 | 一级黄色免费大片 | 中国二级毛片 | 激情综合六月 | 精品视频不卡 | h网站在线| 中文字幕在线视频一区二区三区 | 男男在线观看 | 丝袜美腿亚洲综合 | 热久久久久久 | 久久视频在线 | 最新av观看 | 色欧美亚洲| 吃奶av | 性xxxx狂欢老少配o | 黄色网页免费 | 欧美日本日韩 | 少妇免费毛片久久久久久久久 | 自拍偷在线精品自拍偷无码专区 | 欧美xxxx18| 好色av| 人人爱人人草 | 九热精品视频 | 中文字幕不卡在线 | 成人福利小视频 | 成人免费在线视频观看 | 夜夜天堂 | 5566色| 综合亚洲网 | 久久久久久综合 | 欧美色图11p| 九九99精品视频 | 欧美性生交xxxxxdddd | 痴汉电车在线播放 | 五月天激情婷婷 | 色欲欲www成人网站 老色鬼av | 色婷婷导航 | 婷婷资源网 | 公车激情云雨小说 | 国产jjizz一区二区三区视频 | 国产福利一区在线观看 | 国产色秀视频 | 亚洲中文字幕一区 | 十八禁一区二区三区 | 91在线公开视频 | 在线免费观看亚洲 | 老司机午夜剧场 | 精品国产一区一区二区三亚瑟 | 成人网在线视频 | 日韩欧美大片在线观看 | 爱爱一区 | 久久久久99精品成人片我成大片 | 国产网站无遮挡 | 欧美亚洲第一区 | 九九热免费在线视频 | 欧美精品黄| 四虎影视永久免费 | 国产av日韩一区二区三区精品 | 国内精品视频一区二区三区 | www夜片内射视频日韩精品成人 | 桃色一区二区三区 | 久福利 | 超碰97人人在线 | 福利视频网站 | 91黑丝视频 | 欧美特黄一区二区三区 |