zoukankan      html  css  js  c++  java
  • 87. 考前复习(动态规划)

    2837 考前复习

     

     时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 黄金 Gold
    题目描述 Description

    Aiden马上要考试了,可他还没怎么复习,于是他决定临时抱佛脚。他列了N个知识点,并分析出了复习每个知识点所需的时间t以及可能获得的分数k。他现在还有T时间来复习,他希望选择正确的知识点来在最短的时间内获得最高的期望分数。

    输入描述 Input Description

    第一行,两个数,分别为NT

    接下来的N行,每行两个数tk,表示一个知识点所需的时间和期望得分。

    输出描述 Output Description

    一行,一个数,表示可以获得的最高期望得分。

    样例输入 Sample Input

    5

    5

    2

    2

    样例输出 Sample Output

    7

    数据范围及提示 Data Size & Hint

    对于10%的数据,0100100

    对于50%的数据,01000010000

    对于100%的数据,0500001000001000

    分类标签 Tags 点此展开 

    代码:
    #include
    #include
    using namespace std;
    #define INFt 10001
    #define INFzs 5001
    int f[INFt],tim[INFzs],fs[INFzs],n,t;
    void input()
    {
    scanf("%d%d",&n,&t);
    for(int i=1;i<=n;++i)
    scanf("%d%d",&tim[i],&fs[i]);
    }
    int main()
    {
    input();
    for(int i=1;i<=n;++i)
     for(int j=t;j>=1;j--)
     if(j>=tim[i])
     f[j]=max(f[j],f[j-tim[i]]+fs[i]);
    printf("%d ",f[t]);
    return 0;
     
  • 相关阅读:
    排列组合
    从$a_n=f(n)$的角度理解数列中的表达式$a_{n+1}=frac{k}{a_n}$
    洛必达法则的应用
    三角函数专题
    和差角公式的证明
    利用导数证明不等式
    常用数学模型整理
    教给学生知识的本源
    争鸣|两个易混概率题
    es6数组的复制
  • 原文地址:https://www.cnblogs.com/c1299401227/p/5370733.html
Copyright © 2011-2022 走看看