51nod 1272 最大距离 O(nlog(n)) , 快排 , 最大连续子串
生活随笔
收集整理的這篇文章主要介紹了
51nod 1272 最大距离 O(nlog(n)) , 快排 , 最大连续子串
小編覺得挺不錯的,現(xià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總結(jié)
以上是生活随笔為你收集整理的51nod 1272 最大距离 O(nlog(n)) , 快排 , 最大连续子串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 51nod 1098 最小方差 排序+前
- 下一篇: 51nod 1267 4个数和为0 思路