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. 输入1
  2. 6
  3. 90 50 78 0 96 20
  4. 6
  5. 0 1 35
  6. 1 1 4
  7. 0 1 67
  8. 0 4 11
  9. 0 3 96
  10. 1 3 5
  11.  
  12. 输入2
  13. 50
  14. 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
  15. 10
  16. 1 6 6
  17. 1 1 3
  18. 0 11 78279
  19. 0 33 42738
  20. 0 45 67270
  21. 1 1 26
  22. 1 19 24
  23. 1 37 39
  24. 1 8 13
  25. 0 7 64428

Sample Output

  1. 输出1
  2. 78
  3. 85
  4.  
  5. 输出2
  6. 0
  7. 744
  8. 77683
  9. 856
  10. 558
  11. 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}}$

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

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. #include<cstdlib>
  6. #include<cmath>
  7. using namespace std;
  8. int maxx[],n,q,a[],x,l,r,d[];
  9. void buildtree(int root,int l,int r){
  10. if (l==r) {maxx[root]=d[l]; return;}
  11. int mid=(l+r)>>;
  12. buildtree(root<<,l,mid);
  13. buildtree(root<<|,mid+,r);
  14. maxx[root]=max(abs(maxx[root<<]),abs(maxx[root<<|]));
  15. }
  16. void change(int root,int l,int r,int x,int c){
  17. if (l==r){
  18. maxx[root]+=c;
  19. return;
  20. }
  21. int mid=(l+r)>>;
  22. if (x<=mid) change(root<<,l,mid,x,c);
  23. if (x>mid) change(root<<|,mid+,r,x,c);
  24. maxx[root]=max(abs(maxx[root<<]),abs(maxx[root<<|]));
  25. }
  26. int get(int root,int l,int r,int x,int y){
  27. if ((x<=l)&&(y>=r)) return abs(maxx[root]);
  28. int ans=;
  29. int mid=(l+r)>>;
  30. if (x<=mid) ans=max(ans,get(root<<,l,mid,x,y));
  31. if (y>mid) ans=max(ans,get(root<<|,mid+,r,x,y));
  32. return ans;
  33. }
  34. int main(){
  35. freopen("lipschitz.in","r",stdin);
  36. freopen("lipschitz.out","w",stdout);
  37. scanf("%d",&n);
  38. for (int i=;i<=n;i++){
  39. scanf("%d",&a[i]);
  40. d[i]=a[i]-a[i-];
  41. }
  42. buildtree(,,n);
  43. scanf("%d",&q);
  44. while (q--){
  45. scanf("%d%d%d",&x,&l,&r);
  46. if (x==) {change(,,n,l,r-a[l]);change(,,n,l+,-r+a[l]); a[l]=r;}
  47. if (x==) printf("%d\n",get(,,n,l+,r));
  48. }
  49. return ;
  50. }

神奇的代码

数学很重要

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. ORA-01400: 无法将 NULL 插入 ("CHARGE_WQRL"."SF_JMQTFY_T"."BH")

    [ERROR] JmCheckManageDaoImpl:901 - java.sql.SQLException: ORA-01400: 无法将 NULL 插入 ("CHARGE_WQRL& ...

  2. JBoss类隔离

    http://tiger888.iteye.com/blog/572875这几天,项目组在部署JBOSS时遇到不少问题,都是由于JBOSS的类装载问题引起,特发表一篇BLOG详细说一下JBOSS的类隔 ...

  3. WCF公开服务元数据方式

    一般我们使用了scvutil命令自动生成了服务的客户端代理类: 例如:svcutil http://localhost:8000/?wsdl /o:FirstServiceClient.cs 命令中h ...

  4. Xcode中利用git源代码版本号控制

    git是一个版本号控制系统,能够通过命令行来调用,也有专门的桌面软件.这里主要介绍在Xcode中怎样利用git来进行版本号的控制. 一.创建git源 从Xcode5開始引入了使用git的一些新特性.将 ...

  5. Atitit.减少http请求数方案

    Atitit.减少http请求数方案 1. 原理与方法1 1.1. -------jsp1 1.2. "index/js.txt";2 1.3. connReduceDync2 1 ...

  6. 众数问题(山东理工OJ)

    题目描写叙述 给定含有n个元素的多重集合S,每一个元素在S中出现的次数称为该元素的重数.多重集S中重数最大的元素称为众数. 比如,S={1,2,2,2,3.5}.多重集S的众数是2,其重数为3. 对于 ...

  7. 【Objective-C】03-第一个OC程序

    一.打开Xcode,新建Xcode项目 二.选择最简单的命令行项目 因为我们只是学习OC语法,还未正式进入iOS开发,所以选择命令行项目即可 三.输入项目名称,选择Foundation框架进行创建项目 ...

  8. 通过show status 来优化MySQL数据库

    1, 查看MySQL服务器配置信息  Java代码   mysql> show variables; 2, 查看MySQL服务器运行的各种状态值  Java代码   mysql> show ...

  9. springmvc配置AOP的两种方式

    spingmvc配置AOP有两种方式,一种是利用注解的方式配置,另一种是XML配置实现. 应用注解的方式配置: 先在maven中引入AOP用到的依赖 <dependency> <gr ...

  10. IntelliJ IDEA Mybatis Plugin 破解安装

    破解文件和截图全部在附件中,亲自破解,在使用中,感觉很棒: https://files.cnblogs.com/files/icenter/carck.zip