zoukankan      html  css  js  c++  java
  • 洛谷 P2652 同花顺

    P2652 同花顺

    求出已有的序列中 最长的同花顺 然后用n减去这个长度

    以牌的花色为第一关键字排序,不然会wa

    排序之后要判重,因为有花色和大小都一样的牌

    然后 枚举每张牌,以这张牌为它以前的区间的右端点,再枚举左端点,就可以了

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 #define maxn 1000000
     4 int n,maxx,maxl,nowl=1,cnt;
     5 struct Data{
     6     int num,x;
     7 }c[maxn],a[maxn];
     8 bool cmp(Data a,Data b) 
     9 { 
    10     if(a.x==b.x) 
    11     return a.num<b.num;
    12     else return a.x<b.x;
    13 }
    14 int main()
    15 {
    16     scanf("%d",&n);
    17     for(int i=1;i<=n;i++)
    18         scanf("%d%d",&c[i].x,&c[i].num);
    19     sort(c+1,c+n+1,cmp);
    20     for(int i=1;i<=n;i++)
    21         if(c[i-1].x!=c[i].x||c[i-1].num!=c[i].num)
    22             a[++cnt]=c[i];
    23     for(int i=1;i<=cnt;i++)
    24     {
    25         nowl=0;
    26         for(int j=i;j>=1;j--)
    27         {
    28             if(a[i].x==a[j].x&&a[i].num-a[j].num+1<=n)    nowl++;
    29             else break;
    30         }
    31         maxl=max(nowl,maxl);
    32     }
    33     printf("%d
    ",n-maxl);
    34     return 0;
    35 }
    View Code
  • 相关阅读:
    站点设计
    站点规划
    自动登录百度网盘
    windows下配置Python虚拟环境
    拖拽效果
    jQuery 基础
    js操作BOM
    js操作DOM
    selenium+js自动连接Magic_WiFi
    弹框
  • 原文地址:https://www.cnblogs.com/chen74123/p/7503174.html
Copyright © 2011-2022 走看看