zoukankan      html  css  js  c++  java
  • PAT 乙级 1030完美序列(25)

    戳我直达原题~

    本题求一个序列满足 MAX <=MIN *p 的最长子序列个数

    排序后暴力搜,有两个重要的代码优化如注释。

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #include <bits/stdc++.h>
    typedef long long ll;
    using namespace std;
    int main()
    {
        int n;
        float p;
        int num[100010];
        scanf("%d%f",&n,&p);
        for(int i = 0; i < n; i++)
            scanf("%d",num  +i);
        sort(num, num + n);
        int ans = 1;
        for(int i = 0; i < n; i++)
            for(int j = i + ans; j < n; j++)    //从比答案长的结果开始搜
                if(num[j] <= num[i] * p)
                    ans = j - i + 1;
                else                  //此时都不满足,那后面的max值更大更不可能完成,直接剪掉,如果没加这一步会超时
                    break;
        printf("%d ",ans);
    }
  • 相关阅读:
    dedecms内容页调用缩略图 缩略图多种用法(借鉴)
    线性回归
    Jupyter Notebook 快捷键
    etcd入门
    Centos7 Docker安装
    TFIDF介绍
    Ceph 概念理解
    Nifi简介及核心概念整理
    经典排序算法总结
    Hbase协处理器
  • 原文地址:https://www.cnblogs.com/bestwzh/p/6399481.html
Copyright © 2011-2022 走看看