zoukankan      html  css  js  c++  java
  • 51nod——2502最多分成多少块

    数据范围好小。。。

    题目中没说要升序降序,不过样例解释里可以看出是要升序。

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 
     4 int a[11],b[11],visit[11];
     5 int main(){
     6     int n; cin>>n;
     7     for(int i=0;i<n;i++){
     8         cin>>a[i];
     9         b[i]=a[i];
    10     }
    11     sort(b,b+n);
    12     for(int i=0;i<n;i++)
    13         for(int j=0;j<n;j++)
    14             if(a[i]==b[j]&&i!=j)
    15                 for(int k=min(i,j);k<=max(i,j);k++) visit[k]=1;///把它现在的位置和它应该在的位置都标记,这个区间不能分
    16 
    17     int ans=0;
    18     for(int i=0;i<n;i++)//为0的位置可以自成一块,不能分的部分成一块
    19         if(visit[i]==0||(visit[i]==1&&visit[i+1]==0)) ans++;
    20 
    21     cout<<ans<<endl;
    22     return 0;
    23 }
  • 相关阅读:
    fwt
    fft,ntt
    loj6077
    高维前缀和
    hihocoder 1496 寻找最大值
    HDU 5977 Garden of Eden
    扩展crt
    有标号的DAG计数I~IV
    BZOJ 3160 万径人踪灭
    Codeforces Round #524 (Div. 2) F
  • 原文地址:https://www.cnblogs.com/noobimp/p/10747768.html
Copyright © 2011-2022 走看看