牛客训练赛25-A-最长区间
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-最长区间的更多相关文章
- 牛客训练赛55 E 树
很妙的一个树形DP问题,简单考虑了一下就过了 https://ac.nowcoder.com/acm/contest/2927/E 主要就是推公式(公式有点长呀) 大概就是这样,其实挺简单的. #in ...
- 牛客训练赛25-A-因数个数
题目链接https://www.nowcoder.com/acm/contest/158/A 无语...这题很迷啊,原谅我的菜,刚开始想用预处理欧拉筛和前缀和,可是这题太血崩了,这样一样要遍历,1-e ...
- 这是一个数学题牛客训练赛E
题目描述 https://www.nowcoder.net/acm/contest/78/E 已知有一个n+1个数的数列,对于给定的A0和An ,当i满足当1<=i<=n-1时有 ...
- 2019牛客训练赛第七场 C Governing sand 权值线段树+贪心
Governing sand 题意 森林里有m种树木,每种树木有一定高度,并且砍掉他要消耗一定的代价,问消耗最少多少代价可以使得森林中最高的树木大于所有树的一半 分析 复杂度分析:n 1e5种树木,并 ...
- 牛客巅峰赛S2第6场题解
牛客编程巅峰赛S2第6场 A-StringⅡ 题目 题目描述 给出一个仅包含小写字母的字符串s,你最多可以操作k次,使得任意一个小写字母变为与其相邻的小写字母(ASCII码差值的绝对值为1),请你求出 ...
- 牛客小白赛5 无关(relationship) 容斥原理(计算因子数的模板)
链接:https://www.nowcoder.com/acm/contest/135/A来源:牛客网 若一个集合A内所有的元素都不是正整数N的因数,则称N与集合A无关. 给出一个含有k个元素的集 ...
- 牛客小白赛1 F题三视图
链接:https://www.nowcoder.com/acm/contest/85/F来源:牛客网 题目描述 Etéreo 拿出家里的许多的立方体积木,堆成了一个三维空间中的模型.既然你高考选了技术 ...
- 牛客小白赛4J——强迫症
链接:https://www.nowcoder.com/acm/contest/134/J 来源:牛客网 思路:把数列排序,把每一个重复的元素和最后一个数想加得到新数,在删掉这一元素即为去重的最少步骤 ...
- 牛客网练习赛25 C 再编号
链接:https://www.nowcoder.com/acm/contest/158/C来源:牛客网 定义对 a 的再编号为 a' ,满足 . 现在有 m 次询问,每次给定 x,t ,表示询问经过 ...
随机推荐
- Spring boot 之 dubbo 无xml 简单入门
Dubbo简介 Dubbo框架设计一共划分了10个层,而最上面的Service层是留给实际想要使用Dubbo开发分布式服务的开发者实现业务逻辑的接口层.图中左边淡蓝背景的为服务消费方使用的接口,右边淡 ...
- Linux结构目录
linux结构目录 Linux中有一句话叫做:一切皆文件. 下面来了解一下这些文件. 首先看一下Linux根目录下结构: bin:存放二进制可执行文件,一般常用命令都存放在这里. boot:存放系统启 ...
- MySQL基本简单操作01
MySQL基本简单操作 学会了安装Docker,那么就将它利用起来.(/滑稽脸) 之前想学习Mysql(Windows下配置真麻烦),学会了Docker就方便了,直接使用Docker创建一个Mysql ...
- log4.net 配置 - 自定义过滤器按LoggerName过滤日志
自定义过滤器按LoggerName过滤日志,本来想使用 PropertyFilter 来实现,后来研究发现一直不能成功,源代码debug了一下获取一直为null,时间关系只好用 StringMatch ...
- 怎样将本地web数据库项目部署到腾讯云服务器上?
怎样将本地web数据库项目 部署到腾讯云服务器上? 1.本地计算机的工作: 1.1用eclipse或者myeclipse做好一个web项目,可以只做一个数据库的增删改查,本地部署到Tomcat服务器, ...
- Django urls 路由
写url和视图的的对应关系 from django.conf.urls import url from django.contrib import admin from app名 import vie ...
- OnlineJudgeServer运行
我在这如下这两篇文章都说过青岛OJ相关的 OnlineJudgeFE之前端二次开发 青岛大学开源OJ平台搭建 今天我还是要来讲讲关于这个青岛OJ. 青岛OJ采用的是完全的前后端分离架构. Online ...
- docker运行tomcat
1.下载tomcat docker pull tomcat 运行tomcat docker run -it -p 8888:8080 tomcat 查看tomcat内的文件 docker exec - ...
- Vue组件基础
<!DOCTYPE html><html> <head> <meta charset="utf-8"> ...
- AI 前馈神经网络
前馈神经网络(Feedforward Neural Network,简称FNN),也叫多层感知机(Multilayer Perceptron,简称MLP).FNN的目标是通过学习参数θ,得到最佳的函数 ...