51nod 1272 最大距离 O(nlog(n)) , 快排 , 最大连续子串
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51nod 1272 最大距离 O(nlog(n)) , 快排 , 最大连续子串相关的知识,希望对你有一定的参考价值。
题目:
解法:排序,把值小的和索引小的放在前面,记录一下之前索引最小的就可以了。
没什么可以讲的,上代码吧:
#include <bits\\stdc++.h> using namespace std; typedef long long ll; struct node{ int value; int index; }a[50010]; bool cmp(node x,node y){ if(x.value != y.value) return x.value < y.value; return x.index < y.index; } int main() { int n; cin >> n; for(int i = 0;i < n; i++){ cin >> a[i].value;a[i].index = i; } sort(a,a+n,cmp); int num = a[0].index; int ans = 0; for(int i = 1;i < n; i++){ ans = max(ans,a[i].index-num); if(a[i].index < num) num = a[i].index; } cout << ans << endl; return 0; } // writen by zhangjiuding
以上是关于51nod 1272 最大距离 O(nlog(n)) , 快排 , 最大连续子串的主要内容,如果未能解决你的问题,请参考以下文章
51nod 1102 面积最大的矩形 && 新疆大学OJ 1387: B.HUAWEI's billboard 单调栈+拼凑段(o(n) 或 o(nlog(n))