Time Limit: 1 second

Memory Limit: 128 MB

【问题描述】

Sqybi的电脑在做一个任务,就是SETI@home,据说这个任务在全世界有500 多万台电脑在同时做,可以说是最热门的。它的目的

就是通过分析射电望远镜收到的无线电信号查找外太空智慧生物。这个任务算是起步比较早的,它也会为我们分配很多的任务。

这样,我们的机器有的时候就不能在给定的期限内完成所有的任务。现在sqybi 就遇到了这个问题,由于他的电脑是笔记本,他

不能用太多的时间运行所有的任务。他希望你能够提供一个程序,用来告诉他应该运行哪些任务以使他得到的积分最多。注意一

下,一个单位时间内只能运行一个任务,而每个任务都有一个固定的积分。如果没有完成一项任务,那么在这项任务上不会得到

任何的积分。 现在提供每个任务需要的单位时间和可以得到的积分以及sqybi 可以用来运行任务的总时间,需要输出sqybi 可以得到的最大积分。

【输入格式】

第1 行是一个正整数n 和一个正整数m,分别代表被分配的任务数和总共可以用来运行任务的时间,中间用一个空格分开。

第2 行到第n+1 行每行两个数,用空格分开,分别是正整数t 和正实数p。t 表示该任务需要的时间,p表示该任务可以得到的积分数。

【数据范围】 

对于30%数据,n≤15。 

对于100%数据,p 的小数位不会超过三位,p≤100,m≤10000,n≤1000。

【输出格式】

仅一行,表示sqybi 可以得到的最大积分,保留三位小数。

Sample Input

4 10
5 1
1 5
6 10
4 6

Sample Output

16.000

【题解】

这就是一个0/1背包问题。然后因为价值是实数,所以用double类型的f数组来存最优值。更新的时候记得逆序更新就好。没有坑点。最后“%.3lf”输出。

ps:不想强迫自己写模块化的代码了。从这篇后可能就是直接写下来了。

【代码】

#include <cstdio>

int n,m,w[1010];
double c[1010],f[10010]; void input_data()
{
scanf("%d%d",&n,&m);
for (int i = 1;i <= n;i++) //输入花费和获得的价值
scanf("%d%lf",&w[i],&c[i]);
} void get_ans()
{
for (int i = 1;i <= n;i++)
for (int j = m;j >= w[i];j--) //因为是0/1背包所以逆序更新。这样不会影响到其他要更新的位置
if (f[j] <f[j-w[i]] + c[i])
f[j] = f[j-w[i]] + c[i];
} void output_ans()
{
printf("%.3lf",f[m]); //保留3位小数输出。
} int main()
{
//freopen("F:\\rush.txt","r",stdin);
input_data();
get_ans();
output_ans();
return 0;
}
												

【t040】SETI任务的更多相关文章

  1. ACdream 1430——SETI——————【后缀数组,不重叠重复子串个数】

    SETI Time Limit: 4000/2000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Submit Statist ...

  2. UVA 1563 - SETI (高斯消元+逆元)

    UVA 1563 - SETI option=com_onlinejudge&Itemid=8&page=show_problem&category=520&probl ...

  3. POJ_2065 SETI 【同余高斯消元】

    一.题目  SETI 二.分析 给定一个模数,一串字符串,字符串长度为N,相当于是N个方程的答案,而这N个方程中有N个未知数,要求的就是这N个未知数的值,很显然的高斯消元,遇到模数和除法,用逆元就好. ...

  4. 【poj2065】 SETI

    http://poj.org/problem?id=2065 (题目链接) 题意 题意半天看不懂..给你一个素数P(P<=30000)和一串长为n的字符串str[].字母'*'代表0,字母a-z ...

  5. POJ2065 SETI(高斯消元 同模方程)

    (a1 * 1^0  +   a2 * 1^1  + ...  an * 1^n - 1) % P = f1 .... (a1 * n^0  +   a2 * n^1  + ...  an - 1 * ...

  6. [ACDream 1430]SETI 后缀数组

    题目链接:http://acdream.info/problem?pid=1430 题目大意:给你一个长度不超过10000的字符串,问你出现过两次或两次以上的不重叠的子串有多少个. 后缀数组计算出he ...

  7. POJ 2065 SETI(高斯消元)

    题目链接:http://poj.org/problem?id=2065 题意:给出一个字符串S[1,n],字母a-z代表1到26,*代表0.我们用数组C[i]表示S[i]经过该变换得到的数字.给出一个 ...

  8. POJ 2065 SETI (高斯消元 取模)

    题目链接 题意: 输入一个素数p和一个字符串s(只包含小写字母和‘*’),字符串中每个字符对应一个数字,'*'对应0,‘a’对应1,‘b’对应2.... 例如str[] = "abc&quo ...

  9. poj 2065 SETI 高斯消元

    看题就知道要使用高斯消元求解! 代码如下: #include<iostream> #include<algorithm> #include<iomanip> #in ...

随机推荐

  1. JQuery map()函数

    DOM.map(callback(index,domElement)); 对匹配元素执行函数对象. 返回值是 jQuery 封装的数组,使用 get() 来处理返回的对象以得到基础的数组. 返回数据类 ...

  2. java hadoop file system API

    org.apache.hadoop.fs Class FileSystem java.lang.Object org.apache.hadoop.fs.FileSystem All Implement ...

  3. Java Web学习总结(12)——使用Session防止表单重复提交

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...

  4. windows下配置mycat与常见问题解决

    mycat官网:http://www.mycat.org.cn/ wiki:https://github.com/MyCATApache/Mycat-Server/wiki MyCat使用Mysql的 ...

  5. 洛谷 P2693 [USACO1.3]号码锁 Combination Lock

    P2693 [USACO1.3]号码锁 Combination Lock 题目描述 农夫约翰的奶牛不停地从他的农场中逃出来,导致了很多损害.为了防止它们再逃出来,他买了一只很大的号码锁以防止奶牛们打开 ...

  6. [Ramda] Simple log function for debugging Compose function / Using R.tap for logging

    const log = function(x){ console.log(x); return x; } const get = R.curry(function(prop, obj){ return ...

  7. nyoj999 师傅又被妖怪抓走了 (预处理+bfs+状态压缩)

    题目999 题目信息 执行结果 本题排行 讨论区 师傅又被妖怪抓走了 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描写叙述 话说唐僧复得了孙行者,师徒们一心同体,共诣西方.自宝 ...

  8. (转)SQL Server 2012笔记分享-25:配置备份维护计划

    本文转自http://543925535.blog.51cto.com/639838/1427529 在日常的SQL维护中,有很多需要重复周期性去做的工作我们不太可能去手动操作完成,比如备份作业.重建 ...

  9. The behavior of App killed or restored by Android System or by users

    What's the behavior of App killed or restored by Android System or by users? First, user kills the a ...

  10. Oracle内存管理(之四)

    [深入解析--eygle]学习笔记 1.3 SGA管理 SGA指系统全局区(System Global Area),是一块用于载入数据.对象并保存执行状态和数据库控制信息的一块内存区域,在数据库实例启 ...