zoukankan      html  css  js  c++  java
  • hdu 6197 array array array

    题意:给出n,k,长度为n的数列,问是否可以删除k个使得整个数列变成递增的数列或者递减的,不是严格的(即可以为 1  3 3 4)

    思路:我们求个最长的递增子序列,看是不是n-k<=(最长子序列),反之亦然

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 const int N=1e5+10;
     5 
     6 int a[N];
     7 int dp[N];
     8 int main()
     9 {
    10     int t;
    11     cin>>t;
    12     while(t--)
    13     {
    14         int n,k;
    15         scanf("%d%d",&n,&k);
    16         for(int i=1; i<=n; i++)
    17         {
    18             scanf("%d",&a[i]);
    19         }
    20         memset(dp,127,sizeof(dp));
    21         int l2=0;
    22         for(int i=1; i<=n; i++)
    23         {
    24             int kk=upper_bound(dp+1,dp+1+n,a[i])-dp;
    25             l2=max(l2,kk);
    26             dp[kk]=a[i];
    27         }
    28         if(n-k<=l2){
    29             cout<<"A is a magic array."<<endl;continue;
    30         }
    31         memset(dp,127,sizeof(dp));
    32         int r2=0;
    33         for(int i=n;i>=1;i--)
    34         {
    35             int kk=upper_bound(dp+1,dp+1+n,a[i])-dp;
    36             r2=max(r2,kk);
    37             dp[kk]=a[i];
    38         }
    39         if(n-k<=r2){
    40              cout<<"A is a magic array."<<endl;continue;
    41         }
    42         cout<<"A is not a magic array."<<endl;
    43     }
    44 }
  • 相关阅读:
    内嵌补丁(洞穴代码)
    攻防世界--game
    攻防世界--re1
    upx压缩notepad.exe(运行时压缩)
    crack Tut.ReverseMe1.exe
    HBuilder创建app 基础
    MongoDB 之pymongodb
    MongoDB 基础
    flask POOL,websocket握手
    flask flask_session,WTForms
  • 原文地址:https://www.cnblogs.com/hhxj/p/7505202.html
Copyright © 2011-2022 走看看