当前位置: 首页 > news >正文

培训网站完整页面济南建设网站企业报价

培训网站完整页面,济南建设网站企业报价,不拦截网站的浏览器,成都房屋装修设计公司正题 题目链接:https://www.luogu.com.cn/problem/P2839 题目大意 nnn个数字#xff0c;mmm次询问给出(a,b,c,d)(a,b,c,d)(a,b,c,d)表示左端点在[a,b][a,b][a,b]中#xff0c;右端点在[c,d][c,d][c,d]的子区间中中位数最大的值。 解题思路 显然我们需要二分一下答案midmidm…正题 题目链接:https://www.luogu.com.cn/problem/P2839 题目大意 nnn个数字mmm次询问给出(a,b,c,d)(a,b,c,d)(a,b,c,d)表示左端点在[a,b][a,b][a,b]中右端点在[c,d][c,d][c,d]的子区间中中位数最大的值。 解题思路 显然我们需要二分一下答案midmidmid然后我们要选择一个满足条件的子区间使得区间≥mid\geq mid≥mid的个数减去midmidmid的个数最大。 换一种主席树的方式我们里面是一个按照区间的线段树外面是按照值域分的。然后维护区间最大前缀和和最大后缀和即可。 时间复杂度O(nlog⁡2n)O(n\log^2 n)O(nlog2n) codecodecode #includecstdio #includecstring #includealgorithm #includevector using namespace std; const int N21000,MN4; struct node{int pre,suf,num; }; int n,m,tot,a[N],b[N],q[4],rt[N]; int ls[M],rs[M],pre[M],suf[M],num[M]; vectorint v[N]; void PushUp(int x,int L,int R){int mid(LR)1;if(!ls[x])ls[x]tot,pre[tot]suf[tot]-1,num[tot]-(mid-L1);if(!rs[x])rs[x]tot,pre[tot]suf[tot]-1,num[tot]-(R-mid);pre[x]max(pre[ls[x]],num[ls[x]]pre[rs[x]]);suf[x]max(suf[rs[x]],num[rs[x]]suf[ls[x]]);num[x]num[ls[x]]num[rs[x]];return; } int Change(int x,int L,int R,int pos){int nowtot;if(LR){pre[now]suf[now]num[now]1;return now;}int mid(LR)1;if(posmid)ls[now]Change(ls[x],L,mid,pos),rs[now]rs[x];else rs[now]Change(rs[x],mid1,R,pos),ls[now]ls[x];PushUp(now,L,R);return now; } node Ask(int x,int L,int R,int l,int r){if(lr||!x)return (node){-1,-1,-(r-l1)};int mid(LR)1;if(LlRr)return (node){pre[x],suf[x],num[x]};if(rmid)return Ask(ls[x],L,mid,l,r);if(lmid)return Ask(rs[x],mid1,R,l,r);node laAsk(ls[x],L,mid,l,mid);node raAsk(rs[x],mid1,R,mid1,r);return (node){max(la.pre,la.numra.pre),max(ra.suf,ra.numla.suf),la.numra.num}; } bool check(int x,int a,int b,int c,int d){node LAsk(rt[x],1,n,a,b);node MAsk(rt[x],1,n,b1,c-1);node RAsk(rt[x],1,n,c,d);return (L.sufM.numR.pre)0; } int main() {scanf(%d,n);for(int i1;in;i)scanf(%d,a[i]),b[i]a[i];sort(b1,b1n);int cntunique(b1,b1n)-b-1;for(int i1;in;i){a[i]lower_bound(b1,b1cnt,a[i])-b;v[a[i]].push_back(i);}for(int icnt;i1;i--){rt[i]Change(rt[i1],1,n,v[i][0]);for(int j1;jv[i].size();j)rt[i]Change(rt[i],1,n,v[i][j]);}scanf(%d,m);int last0;for(int i1;im;i){scanf(%d%d%d%d,q[1],q[2],q[3],q[0]);q[1](q[1]last)%n1;q[2](q[2]last)%n1;q[3](q[3]last)%n1;q[0](q[0]last)%n1;sort(q,q4);int l1,rcnt;while(lr){int mid(lr)1;if(check(mid,q[0],q[1],q[2],q[3]))lmid1;else rmid-1;}printf(%d\n,lastb[r]);}return 0; }
http://wiki.neutronadmin.com/news/112950/

相关文章:

  • 网站备案类型物联网技术有哪些
  • 中兴路由器做网站网上给别人做网站
  • 网站制作流程论文公司门户最新版下载
  • 上海网站推广软件网站备案类型及条件
  • 手机行情网报价实时查询东莞企业网站排名优化
  • 兰州网站定制公司wordpress 有广告
  • 有哪些网站是拐角型乌兰察布市建设工程造价网站
  • 自己的网站群晖企业解决方案
  • 网站开发和软件开发工作传销网站开发系统维护
  • 网站业务怎么做的友情链接购买网站
  • 霞山网站开发公司开店加盟
  • 从来没做过网站如何做手表网站素材
  • 网站主页面设计多少钱品牌设计流程
  • 触屏音乐网站源码廊坊网站建设官网
  • 诸城网站建设php程序员
  • 网站后台代码如何做网站建设公司新闻
  • 海外购物网站建设wordpress沙盒框架
  • 做网站多少钱西宁君博领先开封建设企业网站公司
  • 菏泽建设职业中等专业学校官方网站高新区建网站外包
  • 昆明网站制作廊坊电商网站建设
  • 深圳宝安网站建设报价玉环市建设规划局网站
  • 重庆南川网站制作价格关键词点击排名软件
  • 建网站的工具有哪些广州网站建设哪里有
  • 企业网站建设的定位微信小程序做网站
  • 苏州网站建设店铺装修网站制作实例教程
  • 江苏专业网站建设费用如何注册视频号
  • 建网站做哪方面搜狗官网
  • 温州外贸网站推广国内最有趣的网站
  • 怎样办网站做宣传手机网站建设步骤
  • 陕西省城乡建设厅网站宁波网站制作哪家强