zoukankan      html  css  js  c++  java
  • 51nod 1272 最大距离 O(nlog(n)) , 快排 , 最大连续子串

    题目:

    解法:排序,把值小的和索引小的放在前面,记录一下之前索引最小的就可以了。

      没什么可以讲的,上代码吧:

    #include <bitsstdc++.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 
  • 相关阅读:
    单例模式
    二、CSS
    十一、多线程
    十二、协程
    十、多进程
    九、内存管理
    八、元类
    七、上下文管理器/魔术方法
    六、单例模式
    五、装饰器
  • 原文地址:https://www.cnblogs.com/zhangjiuding/p/7632013.html
Copyright © 2011-2022 走看看