poj1018Communication System dp

//一个系统需要n个设备,每个设备有不同的生产厂家,不同的厂家的设备的性能和价格不同
//现在问要这个系统的B/P的最大值,B是N个设备性能最差的性能,P是n个设备的价格
//dp[i][j] 表示前i个设备的性能大于等于j的最少价格
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std ;
const int maxn = 110 ;
const int inf = 0x7fffffff ;
int dp[maxn][maxn*10] ;
int c[maxn][maxn] ;
int v[maxn][maxn] ;
int len[maxn] ;
int  n ;
int main()
{
  // freopen("in.txt" ,"r" , stdin) ;
    int t ;
    scanf("%d" , &t) ;
    while(t--)
    {
        scanf("%d"  , &n) ;
        int ma = 0 ;
        for(int i = 1;i <= n;i++)
        {
            scanf("%d" , &len[i]) ;
            for(int j = 1;j <= len[i] ; j++)
            {
                scanf("%d%d" , &c[i][j] , &v[i][j]) ;
                ma = max(c[i][j]  , ma) ;
            }
        }
        memset(dp , 0 , sizeof(dp)) ;
        for(int i = 1;i <= n;i++)
        {
            for(int j = 0 ;j <= ma ;j++)
            {
                if(dp[i-1][j] == inf)
                {
                    dp[i][j] = inf;
                    continue ;
                }
                int mi = inf ;
                for(int k = 1;k <= len[i];k++)
                if(c[i][k] >= j)
                mi = min(v[i][k] , mi) ;
                if(mi == inf){dp[i][j] = inf ;continue ;}
                dp[i][j] = dp[i-1][j] + mi ;
            }
        }
        double ans = 0 ;
        for(int i = 1;i <= ma;i++)
        ans = max(ans , (double)i/(double)dp[n][i]) ;
        printf("%.3lf\n" , ans) ;
    }
    return 0 ;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-01 21:38:29

poj1018Communication System dp的相关文章

UVA 11651 - Krypton Number System(DP+矩阵快速幂)

UVA 11651 - Krypton Number System 题目链接 题意:给一个进制base,一个分数score求该进制下,有多少数满足一下条件: 1.没有连续数字 2.没有前导零 3.分数为score,分数的计算方式为相邻数字的平方差的和 思路:先从dp入手,dp[i][j]表示组成i,最后一个数字为j的种数,然后进行状态转移,推出前面一步能构成的状态,也就是到dp[(b - 1) * (b - 1)][x]. 然后可以发现后面的状态,都可以由前面这些状态统一转移出来,这样就可以利用

Communication System dp 动态规划 || 贪心

题意: 你要写一个社交系统 需要n个零件 你由n个开发商 每个开发商提供 w个零件给你 你可以从每个开发商那拿一个零件 有一个宽带值 和 价格 使得最后的性价比(B/P) 最高 B 为你选择的n个零件中的min     P 为你选择n个零件的总和 思路: 当 b 值 一定的情况使得性价比最高 我们只需要求得 选择n个零件的最小值 dp[i] = min dp[i-1]+p,dp[i] 当b不定的时候 当b不定的时候 我们设 dp[i][j] 为选i个零件到达 j宽带的最大值 k 为 其他宽带的值

hdu 4081 Qin Shi Huang&#39;s National Road System(最小生成树+dp)

同样是看别人题解才明白的 题目大意—— 话说秦始皇统一六国之后,打算修路.他要用n-1条路,将n个城市连接起来,并且使这n-1条路的距离之和最短.最小生成树是不是?不对,还有呢.接着,一个自称徐福的游方道士突然出现,他说他可以不消耗任何人力财力,使用法术凭空造一条路,路的长度无所谓,但是只能造一条.那么问题来了,徐福希望将两座人口数最多的城市连接起来,而秦始皇希望将最长的路修好.最后折中了一下, 将A/B最大的一条路用法术修出来.其中A是两座城市的人口和,B是除了用法术修的路以外,其它需要修建的

LightOJ 1295 Lighting System Design (排序+dp)

题目链接:LightOJ 1295  Lighting System Desig 题意:给出n种灯(v,k,c,l)分别是灯的(电压,所需电源费用,灯的单价,所需灯的数量),电压高的灯可以代替电压低的灯但是电压低的灯不能代替电压高的等,每种灯的电压各种相同,问选n种灯最小的花费. 思路: 因为电压高的灯可以代替电压低的灯--按电压高到低排序, 然后求前缀和--因为当出现代替时可以,快速统计灯的花费. 然后就是dp--状态方程:dp[i] 买前i类灯的最少花费,sum[i]前缀和.dp[i]=mi

UVA 14000 Lighting System Design(DP)

You are given the task to design a lighting system for a huge conference hall. After doing a lot of calculation & sketching, you have figured out the requirements for an energy-efficient design that can properly illuminate the entire hall. According

LightOJ 1295 Lighting System Design dp

链接:http://lightoj.com/volume_showproblem.php?problem=1295 1295 - Lighting System Design PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB You are given the task to design a lighting system for a huge conference hall. After do

UVa 11400 Lighting System Design(DP 照明系统设计)

题意  设计某个地方的照明系统  一共需要n种不同类型的灯泡  接着输入 每种灯泡的电压v  对应电压电源的价格k  每个灯泡的价格c   需要这种灯泡的数量l   电压低的灯泡可以用电压高的灯泡替换   每种灯泡只需要一个对应的电源   求完成这个照明系统的最少花费 比较简单的DP  容易知道 当要替换一种灯泡中的一个到令一种电压较高的灯泡时  只有全部替换这种灯泡为另一种时才可能使总花费变小   全部替换掉就省下了这种灯泡的电源花费   先把灯泡按照电压排序   那么每种灯泡都可以替换他前面

UVa 11400 Lighting System Design(DP 照明设计)

意甲冠军  地方照明系统设计  总共需要n不同类型的灯泡  然后进入 每个灯电压v  相应电压电源的价格k  每一个灯泡的价格c   须要这样的灯泡的数量l   电压低的灯泡能够用电压高的灯泡替换   每种灯泡仅仅须要一个相应的电源   求完毕这个照明系统的最少花费 比較简单的DP  easy知道 当要替换一种灯泡中的一个到令一种电压较高的灯泡时  仅仅有所有替换这样的灯泡为还有一种时才可能使总花费变小   所有替换掉就省下了这样的灯泡的电源花费   先把灯泡依照电压排序   那么每种灯泡都能够

[省赛训练(DP)]Course Selection System

题面: There are n courses in the course selection system of Marjar University. The i-th course is described by two values: happiness Hi and credit Ci. If a student selects m courses x1, x2, ..., xm, then his comfort level of the semester can be defined