zoukankan      html  css  js  c++  java
  • <JZOJ1286>太空电梯

    一道简单可爱的dp

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<algorithm>
    #define max(a,b) (a>b?a:b)
    #define rint register int
    using std::sort;
    using std::cout;
    using std::endl;
    template <class T>inline void read(T &X)
    {
        X=0;int W=0;char ch=0;
        while(!isdigit(ch))W|=ch=='-',ch=getchar();
        while(isdigit(ch))X=(X<<3)+(X<<1)+(ch^48),ch=getchar();
        X=W?-X:X;return;
    }
    
    int n,dp[16000000]={0},ans=0;
    struct node{int h,a,c;}e[410];
    int cmp(node x,node y){return x.a<y.a;}
    int main()
    {
        read(n);
        for(rint i=1;i<=n;++i)read(e[i].h),read(e[i].a),read(e[i].c);
        sort(e+1,e+n+1,cmp);
    
        dp[0]=1;
        for(rint i=0;i<=n;++i)
        {
            for(rint j=e[i].a;j>=0;--j)
            {
                if(dp[j])
                {
                    for(rint k=1;k<=e[i].c;++k)
                    {
                        if(j+k*e[i].h>e[i].a)break;
                        dp[j+k*e[i].h]=1;
                    }
                }
            }
        }
        for(rint i=e[n].a;i>=0;--i)
            if(dp[i]){printf("%d
    ",i);break;}
    return 0;
    }
  • 相关阅读:
    小球与盒子的故事
    2020.1.11 考试总结
    P4249 [WC2007]剪刀石头布
    P3825 [NOI2017]游戏
    BZOJ 2238 Mst
    P4240 毒瘤之神的考验
    生成函数(严重残缺)
    Min_25
    P3455 [POI2007]ZAP-Queries
    P3233 [HNOI2014]世界树
  • 原文地址:https://www.cnblogs.com/pile8852/p/9885129.html
Copyright © 2011-2022 走看看