博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 4968 Improving the GPA(dp)
阅读量:6656 次
发布时间:2019-06-25

本文共 935 字,大约阅读时间需要 3 分钟。

HDU 4968 Improving the GPA

dp。最大最小分别dp一次,dp[i][j]表示第i个人,还有j分的情况,分数能够减掉60最为状态

代码:

#include 
#include
#include
using namespace std;int t, avg, n;double dp1[15][405], dp2[15][405];double get(int x) { if (x >= 25 && x <= 40) return 4.0; if (x >= 20 && x <= 24) return 3.5; if (x >= 15 && x <= 19) return 3.0; if (x >= 10 && x <= 14) return 2.5; return 2.0;}void init() { for (int i = 1; i <= 400; i++) dp2[0][i] = 50; for (int i = 1; i <= 10; i++) { for (int j = 0; j <= 400; j++) { dp1[i][j] = 0; dp2[i][j] = 50; for (int k = 0; k <= j && k <= 40; k++) { dp1[i][j] = max(dp1[i][j], dp1[i - 1][j - k] + get(k)); dp2[i][j] = min(dp2[i][j], dp2[i - 1][j - k] + get(k)); } } }}int main() { init(); scanf("%d", &t); while (t--) { scanf("%d%d", &avg, &n); avg = (avg - 60) * n; printf("%.4lf %.4lf\n", dp2[n][avg] / n, dp1[n][avg] / n); } return 0;}

转载地址:http://nkxto.baihongyu.com/

你可能感兴趣的文章
16.文件系统——软RAID的实现(三)(RAID5、装配RAID、JBOD)
查看>>
python简介
查看>>
python字典开发三级菜单
查看>>
.net Framework下载地址
查看>>
十三个经典算法集锦
查看>>
关于rsync报错的问题
查看>>
深圳偶遇
查看>>
给自己电脑安装SSD与加内存条
查看>>
国内最大的 Node.js 社区将 New Relic 的监控产品换成了 OneAPM
查看>>
如何有效地记录 Java SQL 日志?
查看>>
学习Linux决心书
查看>>
stp 总结
查看>>
Java本地文件操作(五)遍历文件夹
查看>>
BGP学习笔记
查看>>
mysql字段加密
查看>>
linux 磁盘分区(一)
查看>>
在虚拟机中的域环境下批量安装部署软件(第三节)
查看>>
java基础(jdbc上)
查看>>
python文件读写,以后就用with open语句
查看>>
10.19 iptables规则备份和恢复 firewalld的9个zone firewalld关
查看>>