13蓝桥杯预赛答案 第10题

时间:2016-06-10 13:12:16
【文件属性】:

文件名称:13蓝桥杯预赛答案 第10题

文件大小:161KB

文件格式:RAR

更新时间:2016-06-10 13:12:16

蓝桥杯 答案

标题:连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列, 则称这个区间连号区间。 (注意此题解题关键在于数列从小到大排序最大值减最小值就是区间长度;是直接将数组操作,不是进行递增排序后在找的) 当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。 输入格式: 第一行是一个正整数N (1 <= N <= 50000), 表示全排列的规模。 第二行是N个不同的数字Pi(1 <= Pi <= N), 表示这N个数字的某一全排列。 #include //(注意此题解题关键在于数列从小到大排序最大值减最小值就是区间长度;是直接将数组操作,不是进行递增排序后在找的) int main() { int i,j,max,min,count=0,n; int a[50002]; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=1;i<=n;i++) { max=a[i];min=a[i]; for(j=i+1;j<=n;j++) { if(a[j]>max) max=a[j];


【文件预览】:
10.连号区间数
----连号区间数.plg(1KB)
----Debug()
--------vc60.pdb(44KB)
--------连号区间数.pch(199KB)
--------连号区间数.obj(3KB)
--------连号区间数.ilk(180KB)
--------vc60.idb(33KB)
--------连号区间数.exe(180KB)
--------连号区间数.pdb(441KB)
----连号区间数.dsp(3KB)
----题目描述.txt(1KB)
----连号区间数.opt(48KB)
----连号区间数.cpp(673B)
----连号区间数.ncb(33KB)
----连号区间数.dsw(545B)

网友评论