没种电压灯泡要么全换,要么不换。状态d(i)表示前i种灯泡的最低价格。

转移方程:

dp[i]=min(dp[i],dp[j]+(s[i]-s[j])*d[i].c+d[i].k);

AC代码:

#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=1000+5;
const int INF=1<<30;
struct node{
    int v,k,c,l;
    bool operator < (const node&p) const{
        return v<p.v;
    }
};
node d[maxn];
int s[maxn],dp[maxn];
int main(){
    int n;
    while(scanf("%d",&n)==1&&n){
        for(int i=1;i<=n;++i){
            scanf("%d%d%d%d",&d[i].v,&d[i].k,&d[i].c,&d[i].l);
        }
        sort(d+1,d+n+1);
        s[0]=0;
        for(int i=1;i<=n;++i){
            s[i]=d[i].l+s[i-1];
        }
        for(int i=1;i<=n;++i){
            dp[i]=INF;
            for(int j=0;j<i;++j){
                dp[i]=min(dp[i],dp[j]+(s[i]-s[j])*d[i].c+d[i].k);
            }
        }
        printf("%d\n",dp[n]);
    }
    return 0;
}

如有不当之处欢迎指出!

最新文章

  1. stopping NetworkManager daemon failed
  2. SQL入门经典(二) 之数据库基本查询、添加、更新和删除
  3. Java 导出EXCEL
  4. 写essay和research paper必用的17个网站
  5. httpd设置HTTPS双向认证
  6. “Cache-control”常见的取值有private、no-cache、max-age、must-revalidate等
  7. [iOS] Baritem 添加一项
  8. 本地计算机上的OracleOraDb11g_home2TNSListener服务启动又停止了。
  9. ORA-20000: ORU-10027: buffer overflow, limit of 10000 bytes
  10. json格式字符串与java.util.Map的互转(借助于jackson.jar)
  11. [Python Study Notes]CS架构远程访问获取信息--SERVER端v2.0
  12. Linq SelectMany 交叉连接
  13. Trie for string LeetCode
  14. 微博第三方登录使用social_django实现显示登陆的用户名
  15. np.cumsum()函数和正则表达式的含义
  16. Luogu P2257 YY的GCD
  17. (转载)spring RestTemplate用法详解
  18. Hinton“深度学习之父”和“神经网络先驱”,新论文Capsule将推翻自己积累了30年的学术成果时
  19. 【redis】linux上的安装与配置(详细图解)
  20. 8-13 Just Finish it up uva11093

热门文章

  1. Django环境安装--Django从入门到精通系列教程
  2. Jquery实现选项卡效果
  3. SEO—Meta标签优化
  4. 安装puppeteer
  5. JVM类加载机制---类加载的过程
  6. 使用Python读写csv文件的三种方法
  7. 结合apache安装subversion
  8. 时间函数DateTime()的用法
  9. SSH 面试题集锦
  10. centos7设置静态ip