Description

aaarticlea/png;base64,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" alt=" " />
 

Input

输入文件名为lipschitz.in。
第一行一个整数n。
接下来一行n个整数,描述序列A。
第三行一个数q 。
接下来q行,每行三个整数。其中第一个整数type表示操作的类型。 type=0对应修改操作, type=1对应查询操作。

Output

输出文件名为lipschitz.out。
对于每个查询,给出f(A[l..r]) 。
 

Sample Input

输入1:
6
90 50 78 0 96 20
6
0 1 35
1 1 4
0 1 67
0 4 11
0 3 96
1 3 5 输入2:
50
544 944 200 704 400 150 8 964 666 596 850 608 452 103 988 760 370 723 350 862 856 0 724 544 668 891 575 448 16 613 952 745 990 459 740 960 752 194 335 575 525 12 618 80 618 224 240 600 562 283
10
1 6 6
1 1 3
0 11 78279
0 33 42738
0 45 67270
1 1 26
1 19 24
1 37 39
1 8 13
0 7 64428

Sample Output

输出1:
78
85 输出2:
0
744
77683
856
558
77683
 

Data Constraint

对于30%的数据,n,q<=500
对于60%的数据,n,q<=5000
对于100%的数据,n,q<=100000,0<=ai,val<=10^9

这里有一个结论:f(A)的最大值是相邻的两点的差值。

我们可以设想一下,一个区间被里面minmax分成了三段,其中i=min,j=max,那么设对应的f(A)的值为a,

那么我们可以枚举里面的左端点i右端点j来计算f(A)的值与a比较

首先很肯定的一点 区间[i,j]不能跨过minmax,那么我们会对这三段区间不断细分,到最后也就只剩下相邻的两个点了,此时就是最大值和最小值(这个似乎不能证明)

还有个几何证明:f(A)可以看成一个斜率的绝对值,那么对于坐标上的三个点a,b,c来说,它们三点确定的直线中,很显然横坐标越靠近的两个点斜率会越大

(转自mcw的证明)令$\Delta_i=A_{i+1}-A_i$,则$\left\lceil\frac{|A_j-A_i|}{j-i}\right\rceil=\left\lceil\frac{|\sum_{k=i}^{j-1}\Delta_k|}{j-i}\right\rceil=\overline{\Delta_{i\,..\,j-1}}$,显然会有$\Delta_i\,..\,\Delta_{j-1}$中的一项大于等于$\overline{\Delta_{i\,..\,j-1}}$

所以这题就变成了维护差值的修改和最值了,线段树就可以了。

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<cmath>
using namespace std;
int maxx[],n,q,a[],x,l,r,d[];
void buildtree(int root,int l,int r){
if (l==r) {maxx[root]=d[l]; return;}
int mid=(l+r)>>;
buildtree(root<<,l,mid);
buildtree(root<<|,mid+,r);
maxx[root]=max(abs(maxx[root<<]),abs(maxx[root<<|]));
}
void change(int root,int l,int r,int x,int c){
if (l==r){
maxx[root]+=c;
return;
}
int mid=(l+r)>>;
if (x<=mid) change(root<<,l,mid,x,c);
if (x>mid) change(root<<|,mid+,r,x,c);
maxx[root]=max(abs(maxx[root<<]),abs(maxx[root<<|]));
}
int get(int root,int l,int r,int x,int y){
if ((x<=l)&&(y>=r)) return abs(maxx[root]);
int ans=;
int mid=(l+r)>>;
if (x<=mid) ans=max(ans,get(root<<,l,mid,x,y));
if (y>mid) ans=max(ans,get(root<<|,mid+,r,x,y));
return ans;
}
int main(){
freopen("lipschitz.in","r",stdin);
freopen("lipschitz.out","w",stdout);
scanf("%d",&n);
for (int i=;i<=n;i++){
scanf("%d",&a[i]);
d[i]=a[i]-a[i-];
}
buildtree(,,n);
scanf("%d",&q);
while (q--){
scanf("%d%d%d",&x,&l,&r);
if (x==) {change(,,n,l,r-a[l]);change(,,n,l+,-r+a[l]); a[l]=r;}
if (x==) printf("%d\n",get(,,n,l+,r));
}
return ;
}

神奇的代码

数学很重要

JZOJ.5236【NOIP2017模拟8.7】利普希茨的更多相关文章

  1. JZOJ 5236. 【NOIP2017模拟8.7A组】利普希茨

    5236. [NOIP2017模拟8.7A组]利普希茨 (File IO): input:lipschitz.in output:lipschitz.out Time Limits: 1000 ms ...

  2. [jzoj 5343] [NOIP2017模拟9.3A组] 健美猫 解题报告 (差分)

    题目链接: http://172.16.0.132/senior/#main/show/5343 题目: 题解: 记旋转i次之后的答案为$ans_i$,分别考虑每个元素对ans数组的贡献 若$s_i& ...

  3. JZOJ 【NOIP2017提高A组模拟9.14】捕老鼠

    JZOJ [NOIP2017提高A组模拟9.14]捕老鼠 题目 Description 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里的仓库灭灭鼠.于是,猫被农夫约派去捕 ...

  4. JZOJ 5246. 【NOIP2017模拟8.8A组】Trip(trip)

    5246. [NOIP2017模拟8.8A组]Trip(trip) (File IO): input:trip.in output:trip.out Time Limits: 1500 ms Memo ...

  5. JZOJ 5235. 【NOIP2017模拟8.7A组】好的排列

    5235. [NOIP2017模拟8.7A组]好的排列 (File IO): input:permutation.in output:permutation.out Time Limits: 1000 ...

  6. JZOJ 5230. 【NOIP2017模拟A组模拟8.5】队伍统计

    5230. [NOIP2017模拟A组模拟8.5]队伍统计 (File IO): input:count.in output:count.out Time Limits: 1500 ms Memory ...

  7. JZOJ【NOIP2013模拟联考14】隐藏指令

    JZOJ[NOIP2013模拟联考14]隐藏指令 题目 Description 在d维欧几里得空间中,指令是一个长度为2N的串.串的每一个元素为d个正交基的方向及反方向之一.例如,d = 1时(数轴) ...

  8. JZOJ.5281【NOIP2017模拟8.15】钦点

    Description

  9. [jzoj 5178] [NOIP2017提高组模拟6.28] So many prefix? 解题报告(KMP+DP)

    题目链接: https://jzoj.net/senior/#main/show/5178 题目: 题解: 我们定义$f[pos]$表示以位置pos为后缀的字符串对答案的贡献,答案就是$\sum_{i ...

随机推荐

  1. iOS多线程的初步研究(一)-- NSThread

    对于多线程的开发,iOS系统提供了多种不同的接口,先谈谈iOS多线程最基础方面的使用.产生线程的方式姑且分两类,一类是显式调用,另一类是隐式调用. 一.显示调用的类为NSThread.一般构造NSTh ...

  2. ASP.NET MVC3 系列教程 - 模型

    I:基础绑定的实现 1.在前面的两篇基础文章(路由 及 控制器&视图)当中,还没对QueryString的绑定进行介绍,因为我觉得它更适合放在这一章节中去介绍.我们在用WebForm去开发的时 ...

  3. 安装python3.6后使用pip报错

    安装python3.6后,pip是一起安装好的,安装目录再C:\Programs\Python\Python36-32\Scripts中. 在python终端模式下使用pip出现错误如下: 错误原因: ...

  4. NoSQL(四)

    mongodb介绍 https://www.yiibai.com/mongodb/mongodb_drop_collection.html 1.文档性数据库类似于json对象,分布式 mongodb安 ...

  5. python 特征缺失值填充

    python数据预处理之缺失值简单处理:https://blog.csdn.net/Amy_mm/article/details/79799629 该博客总结比较详细,感谢博主. 我们在进行模型训练时 ...

  6. 有关linux磁盘分区优化

    Linux中几个重要的目录,这几个目录在ubuntu安装的硬盘分区时,可选择性的特别分区,进行挂载./usr 文件系统中一般不改变的文件,如库,程序./var 文件系统包含会改变的文件./home 文 ...

  7. sqlite-在数据库中创建默认时间

    create table log( content ), logtime TIMESTAMP default (datetime('now', 'localtime')) )

  8. poj Squares n个点,共能组成多少个正方形 二分 + 哈希

    题目链接:http://poj.org/problem?id=2002 测试数据: 41 00 11 10 090 01 02 00 21 22 20 11 12 14-2 53 70 05 20 有 ...

  9. KVC之-setValue:forKey:方法实现原理与验证

    KVC之-setValue:forKey:方法实现原理与验证 - (void)setValue:(id)value forKey:(NSString *)key方法,实现原理与验证 功能:使用一个字符 ...

  10. layui中当悬浮在select的option上面是给不同的提示;

    $(document).on('mouseenter', '#paramsFather .layui-form-selected dl dd', function () { var data = $( ...