连号区间数

小明这些天一直在思考这样一个奇怪而有趣的问题:

在 \(1∼N\) 的某个排列中有多少个连号区间呢?

这里所说的连号区间的定义是:

如果区间 \([L,R]\) 里的所有元素(即此排列的第 \(L\) 个到第 \(R\) 个元素)递增排序后能得到一个长度为 \(R−L+1\) 的“连续”数列,则称这个区间连号区间。

当 \(N\) 很小的时候,小明可以很快地算出答案,但是当 \(N\) 变大的时候,问题就不是那么简单了,现在小明需要你的帮助。

输入格式

第一行是一个正整数 \(N\),表示排列的规模。

第二行是 \(N\) 个不同的数字 \(Pi\),表示这 \(N\) 个数字的某一排列。

输出格式

输出一个整数,表示不同连号区间的数目。

数据范围

\(1≤N≤10000,\)

\(1≤Pi≤N\)

输入样例1:

4

3 2 4 1

输出样例1:

7

输入样例2:

5

3 4 2 5 1

输出样例2:

9

样例解释

第一个用例中,有 7 个连号区间分别是:\([1,1],[1,2],[1,3],[1,4],[2,2],[3,3],[4,4]\)

第二个用例中,有 9 个连号区间分别是:\([1,1],[1,2],[1,3],[1,4],[1,5],[2,2],[3,3],[4,4],[5,5]\)

思路

  1. 连号区间的连续性

Code

点击查看代码
#include<iostream>

using namespace std;
typedef long long LL;
int n;
LL ans;
const int N = 1e4 + 10;
int a[N]; int main(){
cin >> n;
for(int i = 1; i <= n; i ++ )cin >> a[i];
ans = n;
for(int i = 1; i < n; i ++ ){
int maxn = a[i],minn = a[i];
for(int j = i + 1; j <= n; j ++ ){
; maxn = max(maxn,a[j]);
minn = min(minn,a[j]);
if(maxn - minn == j - i)ans ++;
}
}
cout << ans;
return 0;
}

连号区间数【第四届蓝桥杯省赛C++B组,第四届蓝桥杯省赛JAVAB组】的更多相关文章

  1. java实现第四届蓝桥杯连号区间数

    连号区间数 题目描述 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R ...

  2. 连号区间数|2013年蓝桥杯B组题解析第十题-fishers

    连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递 ...

  3. 连号区间数(2013年第四届c/c++ b组第10题)

    题目描述 标题:连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个 ...

  4. [蓝桥杯]PREV-7.历届试题_连号区间数

    问题描述 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增 ...

  5. Java实现 蓝桥杯 历届试题 连号区间数

    问题描述 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增 ...

  6. 算法笔记_193:历届试题 连号区间数(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R ...

  7. 2013年第四届蓝桥杯javaB组 试题 答案 解析

    1.世纪末的星期 曾有邪教称1999年12月31日是世界末日.当然该谣言已经不攻自破. 还有人称今后的某个世纪末的12月31日,如果是星期一则会.... 有趣的是,任何一个世纪末的年份的12月31日都 ...

  8. 2013年第四届蓝桥杯JavaB组省赛试题解析

    题目及解析如下: 题目大致介绍: 第一题到第四题是结果填空,方法不限只要得到最后结果就行 第五题和第六题是代码填空题,主要考察算法基本功和编程基本功 第七题到第十题是编程题,要求编程解决问题 第一题 ...

  9. 第四届蓝桥杯JavaB组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.世纪末星期 题目描述 曾有邪教称1999年12月31日是世界末日.当然该谣言已经不攻自破. 还有人称今后的某个世纪末的12月31日,如 ...

随机推荐

  1. 中国制霸生成器「GitHub 热点速览 v.22.42」

    火遍推特的中国制霸生成器本周一开源就占据了两天的 GitHub Trending 榜,不知道你的足迹遍布了多少个省份呢?同样记录痕迹的 kanal 用了内存读写方式解决了 Rust 的消息处理问题,P ...

  2. python制作一个小型翻译软件

    from urllib import parse,request import requests,re,execjs,json,time 英语查词翻译 class Tencent(): def ini ...

  3. 洛谷P5759题解

    本文摘自本人洛谷博客,原文章地址:https://www.luogu.com.cn/blog/cjtb666anran/solution-p5759 \[这道题重在理解题意 \] 选手编号依次为: \ ...

  4. 十三、Pod的资源控制器类型

    Pod 的资源控制器类型 一.Pod 的资源控制器类型 什么是控制器呢?简单来说,控制器就好比是影视剧里面的剧本,演员会根据剧本所写的内容来针对不同的角色进行演绎,而我们的控制器就好比是剧本,Kube ...

  5. Windows 环境搭建 PostgreSQL 物理复制高可用架构数据库服务

    PostgreSQL 高可用数据库的常见搭建方式主要有两种,逻辑复制和物理复制,上周已经写过了关于在Windows环境搭建PostgreSQL逻辑复制的教程,这周来记录一下 物理复制的搭建方法. 首先 ...

  6. linux如何修改dns

    #修改dns: [root@iZap201hv2fcgry1alvbznZ ~]# vim /etc/resolv.conf #添加此格式的dns nameserver 114.114.114.114 ...

  7. kubeedge架构与核心设计---https://bbs.huaweicloud.com/webinar/100009

    今天是kubeedge的第一节课,今天主要带大家回顾一下云原生和边缘计算的发展历程 然后我们会重点介绍一下kubeedge这个项目,他的设计背景和核心理念与我们整体的架构 首先是我们来简单回归一下云原 ...

  8. JqGrid 编辑单元格内容时提示url未设定错误 2018-08-06

    感谢大佬的资料https://blog.csdn.net/Easy_____/article/details/30218421 虽然没实例,但也给了一些信息.我以为cellsubmit属性是添加到co ...

  9. Crypto - Caesar I

    原题链接:http://www.wechall.net/challenge/training/crypto/caesar/index.php 告诉我们这是个古凯撒密码,让我们解...我们百度下古凯撒密 ...

  10. SpringCloud(十一)- 秒杀 抢购

    1.流程图 1.1 数据预热 1.2 抢购 1.3 生成订单 (发送订单消息) 1.4 订单入库 (监听 消费订单消息) 1.5 查看订单状态 1.6 支付 (获取支付链接 ) 1.7 支付成功 微信 ...