• luogu P1020 导弹拦截


    emmmm

    哇200分

    好快乐

    emmm

    它为什么是黄题???

    第一问很好想,就是最长不上升子序列

    第二问也同样,最长上升子序列

    嗯看代码吧

    #include<cstdio>
    #include<algorithm>
    using namespace std;
    #define maxn 100010
    
    int l1[maxn],l2[maxn],a[maxn];
    
    int cmp(int x,int y) {
        return x > y;
    }
    
    int main() {
        int cnt = 1;
        while(scanf("%d",&a[cnt]) != EOF) {
            cnt++;
        }
        cnt--;//要减一个(因为这个qq姐卡了好久www
        int len1 = 1;
        int len2 = 1;
        l1[1] = l2[1] = a[1];
        for(int i = 2; i <= cnt; i++) {
            if(a[i] <= l1[len1])
                l1[++len1] = a[i];
            else {
                int u = upper_bound(l1 + 1,l1 + len1 + 1,a[i],cmp) - l1;//uppet_bound要用一个cmp定义,或者greater<int>也可以
                l1[u] = a[i];
            }
            if(a[i] > l2[len2])
                l2[++len2] = a[i];
            else {
                int l = lower_bound(l2 + 1,l2 + len2 + 1,a[i]) - l2;//stl大法好!
                l2[l] = a[i];
            }
        }
        printf("%d
    %d",len1,len2);
        return 0;
    }

    我写的好草率啊

    就酱吧www

  • 相关阅读:
    sublime插件时间
    git与github
    字符编码笔记:ASCII,Unicode和UTF-8
    阮一峰:互联网协议入门
    从理论到实践,全方位认识DNS
    ci事务
    linux下启动oracle
    Java连接Oracle
    我的博客终于开通了,加油!
    FILTER 执行次数
  • 原文地址:https://www.cnblogs.com/sevenyuanluo/p/10290556.html
Copyright © 2020-2023  润新知