博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P2839 [国家集训队]middle
阅读量:5344 次
发布时间:2019-06-15

本文共 1634 字,大约阅读时间需要 5 分钟。

P2839 [国家集训队]middle


好妙的题啊,,,,

首先二分一个答案k,把数列里>=k的数置为1,=0就是k>=中位数,<0就是k<中位数

数列的最大和很好求哇

左边的最大后缀+中间+右边的最大前缀

主席树搞搞

完事了

CkSi5Q.gif

// It is made by XZZ#include
#include
#define il inline#define rg register#define vd void#define sta staticusing namespace std;il int gi(){ rg int x=0,f=1;rg char ch=getchar(); while(ch<'0'||ch>'9')f=ch=='-'?-1:f,ch=getchar(); while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar(); return x*f;}const int maxn=20010;int a[maxn],b[maxn];const int maxd=500001;struct node{ int tot,lmax,rmax; node operator+(const node&x)const{ return (node){tot+x.tot,max(lmax,tot+x.lmax),max(x.rmax,rmax+x.tot)}; }}s[maxd];int rt[maxn],ls[maxd],rs[maxd],id;struct yyb{int p,a;}c[maxn];il bool operator<(const yyb&a,const yyb&b){return a.a
>1)il vd build(int&x,int l,int r){ x=++id; s[x]=(node){r-l+1,r-l+1,r-l+1}; if(l==r)return; build(ls[x],l,mid),build(rs[x],mid+1,r);}il vd update(int&x,int l,int r,const int&p,const int&o){ ++id,ls[id]=ls[x],rs[id]=rs[x],s[id]=s[x]; x=id; if(l==r){s[x]=(node){o,o,o};return;} if(p<=mid)update(ls[x],l,mid,p,o); else update(rs[x],mid+1,r,p,o); s[x]=s[ls[x]]+s[rs[x]];}il node query(const int&x,int l,int r,const int&L,const int&R){ if(L>R)return(node){0,0,0}; if(L<=l&&r<=R)return s[x]; if(L<=mid) if(mid
>1)+1; sum=query(rt[mid],1,n,l1,r1).rmax+query(rt[mid],1,n,l2,r2).tot+query(rt[mid],1,n,l3,r3).lmax; (sum>=0)?l=mid:r=mid-1; } printf("%d\n",lst=b[l]); } return 0;}

转载于:https://www.cnblogs.com/xzz_233/p/8783643.html

你可能感兴趣的文章
asp.net WebApi自定义权限验证消息返回
查看>>
php中eval函数的危害与正确禁用方法
查看>>
20172315 2017-2018-2 《程序设计与数据结构》第十一周学习总结
查看>>
MySQL添加、修改、撤销用户数据库操作权限的一些记录
查看>>
关于谷歌浏览器Chrome正在处理请求的问题解决
查看>>
Git核心技术:在Ubuntu下部署Gitolite服务端
查看>>
平面波展开法总结
查看>>
建造者模式
查看>>
ArraySort--冒泡排序、选择排序、插入排序工具类demo
查看>>
composer 安装laravel
查看>>
8-EasyNetQ之Send & Receive
查看>>
Android反编译教程
查看>>
List<string> 去重复 并且出现次数最多的排前面
查看>>
js日志管理-log4javascript学习小结
查看>>
Android之布局androidmanifest.xml 资源清单 概述
查看>>
How to Find Research Problems
查看>>
Linux用户管理
查看>>
数据库第1,2,3范式学习
查看>>
《Linux内核设计与实现》第四章学习笔记
查看>>
使用iperf测试网络性能
查看>>