• HDU 1024 拦截导弹


    dp【i】表示为了拦截第i枚导弹最少需要多少个系统

    状态转移方程

    #include <iostream>
    #include <cmath>
    #include <cstdio>
    #include <cstring>
    #include <string>
    #include <map>
    #include <iomanip>
    #include <algorithm>
    #include <queue>
    #include <stack>
    #include <set>
    #include <vector>
    //const int maxn = 1e5+5;
    #define ll long long
    ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
    ll lcm(ll a,ll b){return a/gcd(a,b)*b;}
    
    #define MAX INT_MAX
    #define FOR(i,a,b) for( int i = a;i <= b;++i)
    #define bug cout<<"--------------"<<endl
    using namespace std;
    int dp[31000],a[31000];
    int main()
    {
        int n;
        while(cin>>n)
        {
    
            FOR(i,1,n) cin>>a[i];
            int maxx = 0;
            for(int i=1;i<=n;++i)
            {
                dp[i] = 1;
                for(int j=1;j<i;++j)
                {
                    if(a[i] > a[j]) dp[i] = max(dp[j]+1,dp[i]);
                }
                maxx = max(maxx,dp[i]);
            }
            cout<<maxx<<endl;
        }
    
    }
  • 相关阅读:
    信息探测
    Hdu 1262 寻找素数对
    Hdu 1263 水果
    Hdu 1261字串数
    Hdu 1253 胜利大逃亡
    Hdu 1237简单计算器
    Hdu 1235 统计同成绩学生人数
    Hdu 1236 排名
    Hdu 1233 还是畅通工程
    Hdu 1234 开门人和关门人
  • 原文地址:https://www.cnblogs.com/jrfr/p/11388935.html
Copyright © 2020-2023  润新知