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

网站公司建设个服务号多少钱成都租车公司网站

网站公司建设个服务号多少钱,成都租车公司网站,百度做个网站要多少钱,免费网站根目录传送门:牛客 题目描述: 给出一个序列&#xff0c;你的任务是求每次操作之后序列中 &#xff08;a[j]-a[i]&#xff09;/&#xff08;j-i&#xff09;【1<i<j<n】的最大值。 操作次数有Q次&#xff0c;每次操作需要将位子p处的数字变成y. 输入: 5 2 4 6 8 10 2 2 5 4…

传送门:牛客

题目描述:

给出一个序列,你的任务是求每次操作之后序列中 (a[j]-a[i])/(j-i)【1<=i<j<=n】的最大值。
操作次数有Q次,每次操作需要将位子p处的数字变成y.
输入:
5
2 4 6 8 10
2
2 5
4 9
输出:
3.00
3.00

对于本题,首先我们得分析出这道题的式子的巧妙之处才能动手

对于区间内任意的i,ji,ji,j,假设i,ji,ji,j直接没有夹杂其他的数字,那么此处我们的式子的值就是a[j]−a[i]a[j]-a[i]a[j]a[i],假设我们的i,ji,ji,j之间存在a1,a2,a3,a4a1,a2,a3,a4a1,a2,a3,a4,此时我们的式子就可以表示为
(a[j]−a4+a4−a3+a3−a2+a2−a1+a1−a[i])/6(a[j]-a4+a4-a3+a3-a2+a2-a1+a1-a[i])/6(a[j]a4+a4a3+a3a2+a2a1+a1a[i])/6,此时我们会显然的发现这个式子就是我们i,ji,ji,j之间的所有相邻的数字的差的和的平均值.对于这个平均值来说,显然取最大的差是我们的这个式子最大的时候.
那么此时这道题就变成了如何维护区间内相邻两个数的差的最大值

我们可以线段树来维护这个值.考虑使用mxmxmx来表示区间内相邻两个数的差的最大值
使用lnumlnumlnum来表示区间的左端点的数字,为了区间合并方便
使用rnumrnumrnum来表示区间的右端点的数字,为了区间合并方便

对于区间合并,我们会发现显然我们的大区间的mxmxmx有三种情况,1.左区间的mxmxmx 2.右区间的mxmxmx 3.有区间的lnumlnumlnum-左区间的rnumrnumrnum 三者取一个maxmaxmax维护即可

对于updateupdateupdate,queryqueryquery,简单的单点修改和区间查询,此处就不再赘述了

下面是具体的代码部分:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define root 1,n,1
#define ls rt<<1
#define rs rt<<1|1
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
inline ll read() {ll x=0,w=1;char ch=getchar();for(;ch>'9'||ch<'0';ch=getchar()) if(ch=='-') w=-1;for(;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-'0';return x*w;
}
#define maxn 200100
const double eps=1e-8;
#define	int_INF 0x3f3f3f3f
#define ll_INF 0x3f3f3f3f3f3f3f3f
struct Segment_tree{int l,r;int mx;int lnum,rnum;
}tree[maxn*4];
int n,m;int a[maxn];
void pushup(Segment_tree &u,Segment_tree &l,Segment_tree &r) {u.l=l.l;u.r=r.r;u.lnum=l.lnum;u.rnum=r.rnum;u.mx=max(l.mx,r.mx);u.mx=max(u.mx,r.lnum-l.rnum);
}
void pushup(int rt) {pushup(tree[rt],tree[ls],tree[rs]);
}
void build(int l,int r,int rt) {tree[rt].l=l;tree[rt].r=r;tree[rt].mx=-int_INF;if(l==r) {tree[rt].lnum=tree[rt].rnum=a[l];return ;}int mid=(l+r)>>1;build(lson);build(rson);pushup(rt);
}
void update(int pos,int v,int rt) {if(tree[rt].l==pos&&tree[rt].r==pos) {tree[rt].lnum=tree[rt].rnum=v;return ;}int mid=(tree[rt].l+tree[rt].r)>>1;if(pos<=mid) update(pos,v,ls);else update(pos,v,rs);pushup(rt);
}
int main() {while(scanf("%d",&n)!=EOF) {for(int i=1;i<=n;i++) a[i]=read();build(root);m=read();for(int i=1;i<=m;i++) {int pos=read(),v=read();update(pos,v,1);printf("%.2lf\n",(double)tree[1].mx);}}return 0;
}
http://www.yayakq.cn/news/347448/

相关文章:

  • 小说网站建设吧电子商务主要就业方向
  • 网站如何做视频点播平台网站开发风险
  • 建站导航网页设计尺寸1440
  • 网站建设财务处理网站建设公司有哪些重要职务
  • 做网站建设与推广企业三门峡住房城乡建设局网站
  • 合肥网站制作QQ展示型网站建设价格
  • 二七网建站网店设计教程
  • 四川新站优化大数据营销案例分析
  • 做网站的公司不会设计手机报价网站大全
  • 全球做空现货黄金的网站莱芜手机网站建设电话
  • 如何更好的建设和维护网站网站描述怎样写
  • 简单网站建设方案策划白银市建设管理处网站
  • 网站注册搜索引擎的目的是html网页框架代码实例
  • wampserver搭建网站辽阳专业网站开发公司
  • 云南网站设计流程龙岩网站开发
  • 网站加强队伍建设网页设计与制作教程机械工业出版社
  • 专业做网站方案ppt物流网站建设规划书
  • 企业邮箱是怎么样的鄂州seo厂家
  • 高端网站开发价格自己0基础怎么创业
  • 购物网站建站系统网站开发工作周记
  • 网站宣传推广的目的wordpress产品参数多图
  • 江苏专业网站推广公司网站怎么做好 优帮云
  • 游学做的好的网站深圳英文网站建设公司
  • 学院网站建设成效网站小图标素材
  • 外贸建网站建设国外网站引流吗
  • 池州建设网站模块网站建设
  • 相亲网站做期货现货贵金属的人wordpress+代码行号
  • 惠州网站建设 鑫网页个人信息页面
  • 网站建设案例渠道手机网站域名开头
  • 深圳seo优化关键词排名正规seo关键词排名哪家专业