codevs——2894 Txx考试(背包)

时间限制: 1 s

空间限制: 32000 KB

题目等级 : 黄金 Gold

题解

题目描述 Description

Txx是一个成绩很差的人,考试便成了他的噩梦。于是他常在考试时睡觉以打发时间。今天他又要面临一次考试,为了保证有充足的睡眠,他决定只做k分钟题目。这次测试有n道题,第i题的得分是pi分,需要耗费ti分钟解决(将要完成也得不到分)。

请你算出他最少扣多少分(总分是所有题目分值的总和)。

输入描述 Input Description

第一行k

第二行n

第三行到第n+2行每行两个数:ti和pi

输出描述 Output Description

Txx最少的扣分

样例输入 Sample Input

5

3

2 6

1 3

4 7

样例输出 Sample Output

6

数据范围及提示 Data Size & Hint

100%的数据中,k<=100000,ti<=10000,pi<=10000;

30%的数据中,n<=20;

100%的数据中,n<=500

分类标签 Tags 点此展开

动态规划 背包型DP

代码

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
long long int n,m,s[100001],t[100001],sum,f[100001];
int main()
{
    scanf("%d%d",&m,&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&t[i],&s[i]);
        sum+=s[i];
    }
    for(int i=1;i<=n;i++)
      for(int j=m;j>=t[i];j--)
       f[j]=max(f[j],f[j-t[i]]+s[i]);
    //cout<<sum<<endl<<f[m]<<endl;
    printf("%d",sum-f[m]);
    return 0;
}

思路:01背包!

注意数组大小!

时间: 2024-12-28 06:00:34

codevs——2894 Txx考试(背包)的相关文章

Codevs 2894 Txx考试(尚未提交成功)

#include<iostream> #include<cstdio> #include<cstring> using namespace std; int t[510],f[510],p[100010],n,k; long long ans; int main() { cin>>k; cin>>n; for(int i=1;i<=n;i++) cin>>t[i]>>p[i],ans+=p[i]; for(int i

Txx考试(codevs 2894)

2894 Txx考试 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description Txx是一个成绩很差的人,考试便成了他的噩梦.于是他常在考试时睡觉以打发时间.今天他又要面临一次考试,为了保证有充足的睡眠,他决定只做k分钟题目.这次测试有n道题,第i题的得分是pi分,需要耗费ti分钟解决(将要完成也得不到分). 请你算出他最少扣多少分(总分是所有题目分值的总和). 输入描述 Input Description 第一行k 第

codevs 2915 期末考试

时间限制: 1 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题目描述 Description 期末考试要来了,某同学正在努力复习. 他要复习N个知识点,每个知识点需要一定的知识做基础. 现给你一个AOV网,其中有M条边<Ai,Bi>. 问他能考得怎样?(假设他只要复习了就不会出错,没复习就什么也不会) 输入描述 Input Description 两个正整数N,M M行,Ai  Bi. 输出描述 Output Description 若能考满分,输出Oh,yeah! 若能及

codevs 2894 保留小数

时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 给你一个实数,小数点后不超过50位,请你保留到小数点后n位(四舍五入!!!) 输入描述 Input Description 第一行,一个实数,小数点后不超过50位 第二行,保留到N位小数 输出描述 Output Description 一个实数,保留过的小数 样例输入 Sample Input 5.198273258723587235728 3 样例输出 Sample Outp

codevs2894、2837、1669、2503、3231

6.25动态规划之背包回顾 2894 Txx考试 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description Txx是一个成绩很差的人,考试便成了他的噩梦.于是他常在考试时睡觉以打发时间.今天他又要面临一次考试,为了保证有充足的睡眠,他决定只做k分钟题目.这次测试有n道题,第i题的得分是pi分,需要耗费ti分钟解决(将要完成也得不到分). 请你算出他最少扣多少分(总分是所有题目分值的总和). 输入描述 Input Description

Codevs 3269-混合背包

原题 题目描述 Description 背包体积为V ,给出N个物品,每个物品占用体积为Vi,价值为Wi,每个物品要么至多取1件,要么至多取mi件(mi > 1) , 要么数量无限 , 在所装物品总体积不超过V的前提下所装物品的价值的和的最大值是多少? 输入描述 Input Description 第一行两个数N,V,下面N行每行三个数Vi,Wi,Mi表示每个物品的体积,价值与数量,Mi=1表示至多取一件,Mi>1表示至多取Mi件,Mi=-1表示数量无限 输出描述 Output Descrip

codevs 3372 选学霸(hash+并查集+多重背包)

先通过并查集处理出来有多少种不同的集合,每个集合有多少人.一定要不要忘记了与别的没有联系的独立点. 并查集的时候可以通过hash处理出来每个数目相同的集合的个数. 这样以人数为权值,个数为限制进行多重背包,结果就是答案. 题目链接:http://codevs.cn/problem/3372/ #include <algorithm> #include <iostream> #include <stdlib.h> #include <string.h> #in

树形DP+(分组背包||二叉树,一般树,森林之间的转换)codevs 1378 选课

codevs 1378 选课 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了N(N<300)门的选修课程,每个学生可选课程的数量M是给定的.学生选修了这M门课并考核通过就能获得相应的学分. 在选修课程中,有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其它的一些课程的基础上才能选修.例如<Frontpage>必须在

codevs 1959 拔河比赛--判断背包内刚好装满n/2个物品

1959 拔河比赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 一个学校举行拔河比赛,所有的人被分成了两组,每个人必须(且只能够)在其中的一组,要求两个组的人数相差不能超过1,且两个组内的所有人体重加起来尽可能地接近. 输入描述 Input Description 数据的第1行是一个n,表示参加拔河比赛的总人数,n<=100,接下来的n行表示第1到第n个人的体重,每个人的体重都是整数(1<=weight