zoukankan      html  css  js  c++  java
  • POJ1018

    //POJ 1018(DP) 当有俩个变量时可固定一个边量再去求另一个变量(important)
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #define inf (0x3f3f3f3f)
    using namespace std;
    int dp[115][1200];//前i个的设备的j带宽的最小价钱
    int main()
    {
        int t,n,m;  cin>>t;
        while(t--)
        {
            memset(dp,inf,sizeof(dp));
            int b,p;
            cin>>n;
            for(int i=1;i<=n;++i)
            {
                cin>>m;
                while(m--)
                {
                    cin>>b>>p;
                    if(i==1)
                        dp[1][b] = min(dp[1][b],p);
                    else{
                        for(int j=0;j!=1200;++j)
                        {//对于每一个带宽
                            if(dp[i-1][j]!=inf)//如果上一层有这个最小带宽的值
                            {
                                if(j<=b)
                                    dp[i][j] = min(dp[i][j],dp[i-1][j]+p);
                                else
                                    dp[i][b] = min(dp[i][b],dp[i-1][j]+p);
                            }
                        }
                    }
                }
            }
            double maxValue = 0;
            for(int i=0;i!=1200;++i)
            {
                double tmp = (double)i/dp[n][i];
                maxValue = max(maxValue,tmp);
            }
            printf("%.3lf
    ",maxValue);
        }
    }
    不怕万人阻挡,只怕自己投降。
  • 相关阅读:
    java中的Set的使用以及各种遍历方法(较为全面)
    系统图标
    监听按钮
    GUI
    【Avalon】获取隐藏元素的尺寸
    Hooks
    特性节点Attribute
    ngCloak
    邮件
    时间
  • 原文地址:https://www.cnblogs.com/newstartCY/p/11518930.html
Copyright © 2011-2022 走看看