蓝桥杯----连号区间数

题目链接:点击打开链接

这是一个悲伤的故事,看到题目提示,说是并查集,然后就一直想怎么去用并查集呢?!

结果显然是没有发现怎么做。

后来想到直接暴力,但是考虑到O(n^2)估计会TLE啊!!一直就没敢去写

后来看了人家的代码。都是直接暴力 :(


附上我的代码:

#include <cstdio>

int n, p[50005];

int main() {
	while (~scanf("%d", &n) && n) {
		for (int i = 0; i < n; i++) 
			scanf("%d", p + i);

		int cnt = 0, min, max;
		for (int i = 0; i < n; i++) {
			min = max = p[i];
			for (int j = i; j < n; j++) {
				if (min > p[j])
					min = p[j];
				else if (max < p[j])
					max = p[j];
				if (max - min == j - i)
					cnt++;
			}
		}
		printf("%d
", cnt);
	}

	return 0;
}



原文地址:https://www.cnblogs.com/Stomach-ache/p/3703155.html