https://www.nowcoder.com/acm/contest/158#question

这题问最长的严格连续递增序列的最长长度是多少?

最开始感觉这道题不可做,因为有1e5个点,还有1e5的操作数

可是后来发现。。。这题水的一匹a[i]和y都是在1-100的范围内部

不如这样,我用一个d[i]数组记录连续递增的长度大小,用cnt[i]数组表示数组里面这个长度的连续递增序列的个数,由于这个序列a[i]范围很小,因此最长连续的长度一点小于等于100,

我们可以直接改变单点值,后面减去这单点后面影响到的贡献,再重新算新的贡献即可

#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<map>
using namespace std;
int a[];
int d[];
int cnt[];
int main()
{
int n,m;
while(~scanf("%d%d",&n,&m))
{
memset(d,,sizeof(d));
memset(cnt,,sizeof(cnt));
for (int i=; i<=n; i++)
{
scanf("%d",&a[i]);
if (a[i]>a[i-])
{
d[i]=d[i-]+;
}
else
{
d[i]=;
}
cnt[d[i]]++;
}
for (int i=; i>=; i--)
{
if (cnt[i])
{
printf("%d\n",i);
break;
}
}
int x,y;
d[]=;
cnt[]=;
for (int i=; i<=m; i++)
{
scanf("%d%d",&x,&y);
a[x]=y;
int r=min(n,x+);
for (int j=x; j<=r; j++)cnt[d[j]]--;
for (int j=x; j<=r; j++)
{
if (a[j]>a[j-])
{
d[j]=d[j-]+;
}
else
{
d[j]=;
}
cnt[d[j]]++;
}
for (int j=; j>=; j--)
{
if (cnt[j])
{
printf("%d\n",j);
break;
}
}
}
}
return ;
}

牛客训练赛25-A-最长区间的更多相关文章

  1. 牛客训练赛55 E 树

    很妙的一个树形DP问题,简单考虑了一下就过了 https://ac.nowcoder.com/acm/contest/2927/E 主要就是推公式(公式有点长呀) 大概就是这样,其实挺简单的. #in ...

  2. 牛客训练赛25-A-因数个数

    题目链接https://www.nowcoder.com/acm/contest/158/A 无语...这题很迷啊,原谅我的菜,刚开始想用预处理欧拉筛和前缀和,可是这题太血崩了,这样一样要遍历,1-e ...

  3. 这是一个数学题牛客训练赛E

    题目描述   https://www.nowcoder.net/acm/contest/78/E 已知有一个n+1个数的数列,对于给定的A0和An ,当i满足当1<=i<=n-1时有    ...

  4. 2019牛客训练赛第七场 C Governing sand 权值线段树+贪心

    Governing sand 题意 森林里有m种树木,每种树木有一定高度,并且砍掉他要消耗一定的代价,问消耗最少多少代价可以使得森林中最高的树木大于所有树的一半 分析 复杂度分析:n 1e5种树木,并 ...

  5. 牛客巅峰赛S2第6场题解

    牛客编程巅峰赛S2第6场 A-StringⅡ 题目 题目描述 给出一个仅包含小写字母的字符串s,你最多可以操作k次,使得任意一个小写字母变为与其相邻的小写字母(ASCII码差值的绝对值为1),请你求出 ...

  6. 牛客小白赛5 无关(relationship) 容斥原理(计算因子数的模板)

    链接:https://www.nowcoder.com/acm/contest/135/A来源:牛客网 若一个集合A内所有的元素都不是正整数N的因数,则称N与集合A无关.   给出一个含有k个元素的集 ...

  7. 牛客小白赛1 F题三视图

    链接:https://www.nowcoder.com/acm/contest/85/F来源:牛客网 题目描述 Etéreo 拿出家里的许多的立方体积木,堆成了一个三维空间中的模型.既然你高考选了技术 ...

  8. 牛客小白赛4J——强迫症

    链接:https://www.nowcoder.com/acm/contest/134/J 来源:牛客网 思路:把数列排序,把每一个重复的元素和最后一个数想加得到新数,在删掉这一元素即为去重的最少步骤 ...

  9. 牛客网练习赛25 C 再编号

    链接:https://www.nowcoder.com/acm/contest/158/C来源:牛客网 定义对 a 的再编号为 a' ,满足 . 现在有 m 次询问,每次给定 x,t ,表示询问经过 ...

随机推荐

  1. 请问在EXECUTE IMMEDIATE中如何使用带有引号

    转自:http://bbs.csdn.net/topics/300191423 从第一引号向后,如果遇到第二个引号,则看这个引号后面时候有紧挨着的引号,如果有则第二个引号被转义,即该保留该引号后面紧跟 ...

  2. Mac 10.9.3 自带PHP5.4.24增加redis和xdebug扩展

    git clone git://github.com/nicolasff/phpredis.git cd ./phpredis phpize make ./configure make sudo ma ...

  3. Vue框架的两种使用方式

    1.单页面应用:使用Vue CLI工具生成脚手架,这是最常见的使用方式,简单用模板生成一个HelloWorld Demo,可以学习Vue的SPA项目结构 2.传统多页面应用:通过script引入Vue ...

  4. 洛谷P1223

    #include <iostream>#include <algorithm>#include <cstdio>using namespace std;int b[ ...

  5. Difference Between InnoDb and MyISAM(个人觉着是好文章,简单易懂,推荐看)

    原文地址:http://acmeextension.com/difference-between-innodb-and-myisam/ MyISAM and InnoDB are the most c ...

  6. php 怎么在foreach中循环数组的时候添加元素的属性

    foreach($arr as $key => &$vo){ //注意,由于上面遍历的时候写了地址传值符&, //所以下面可以直接给$vo 赋值;如果不写&符号,下面这样 ...

  7. docker swarm英文文档学习-9-使用Docker Configs存储配置数据

    Store configuration data using Docker Configs 使用Docker Configs存储配置数据 Docker 17.06引入了集群服务配置,允许你在服务镜像或 ...

  8. Spring容器IOC解析及简单实现(转)

    文章转自http://blog.csdn.net/liushuijinger/article/details/35978965

  9. mybatis逆向工程之maven工程

    maven工程与动态web工程存在差异,不过大体是相同的 注意:运行成功后记得refresh刷新下,否则看不到 一.在pom文件中进行如下配置 <project xmlns="http ...

  10. postman本地测试post接口

    操作步骤 1.选择post请求 2.把url写到这里(一般测本地的话localhost:8080/项目名/xx/xx) 3.设置请求头 4.设置请求参数 5.发送请求 6.接收响应数据(json.ht ...