动态规划百题 第11题 POJ - 1018

Communication System

 POJ - 1018 

NUPT要建立一套系统,该系统需要n种设备,而每种设备分别可以有m1、m2、m3、...、mn个厂家提供生产,而每个厂家生产的同种设备都会存在两个方面的差别:参数和 价格。 
现在每种设备都各需要1个,考虑到性价比问题,要求所挑选出来的n件设备,要使得F/P最大。其中F为这n件设备的参数的最小值,P为这n件设备的总价。我们的目标是为每个设备选择一个制造商来最大化F / P。

Input

输入文件的第一行包含一个整数t(1≤t≤10)表示t组测试样例。每个测试样例包含单个整数n(1≤n≤100)表示系统中的设备数,后面以下的n行包含:第i行(1≤i≤n)第一个数为制造商的设备数量mi(1≤mi≤100),之后是mi对正整数,分别表示制造商对应的参数和价格。

Output

每个测试样例只包含一个数,为F / P的最大值并保留3位有效小数。

Sample Input

1 3
3 100 25 150 35 80 25
2 120 80 155 40
2 100 100 120 110

Sample Output

0.649

题解:定义dp[i][j]为前i个物件的最小带宽为j的最小价格和

然后如果j<=p,说明当前带宽小于上一个状态的带宽,dp[i][j]=min(dp[i][j],dp[i-1][j]+q)

如果j>p,说明当前带宽大于上一个状态的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值