UVA 11400 Lighting System Design 照明系统设计
2015-08-13 11:24
330 查看
首先是一个贪心,一种灯泡要么全都换,要么全都不换。
先排序,定义状态d[i]为前面i种灯泡的最小花费,状态转移就是从d[j],j<i,加上 i前面的j+1到i-1种灯泡换成i的花费。
下标排序玩脱了。。。
先排序,定义状态d[i]为前面i种灯泡的最小花费,状态转移就是从d[j],j<i,加上 i前面的j+1到i-1种灯泡换成i的花费。
下标排序玩脱了。。。
#include<bits/stdc++.h> using namespace std; const int maxn = 1e3+3; int V[maxn], K[maxn], C[maxn], L[maxn]; int d[maxn],r[maxn],s[maxn]; bool cmp(int a,int b) { return V[a]<V[b]; } int main() { //freopen("in.txt","r",stdin); int n; s[0] = 0; while(scanf("%d",&n),n){ for(int i = 1; i <= n; i++) { scanf("%d%d%d%d",V+i,K+i,C+i,L+i); r[i] = i; } sort(r+1,r+1+n,cmp); for(int id = 1; id <= n; id++){ int i = r[id]; s[id] = s[id-1] + L[i]; d[id] = s[id]*C[i] + K[i]; for(int id2 = 1; id2 < id; id2++){ int j = r[id2]; d[id] = min(d[id],d[id2]+(s[id]-s[id2])*C[i]+K[i]); } } printf("%d\n",d ); } return 0; }
相关文章推荐
- Git命令大全
- Data visualization 课程 笔记3
- IoC(Inversion of Control,控制反转)模式
- Base64编码及其作用
- 水池数目dfs
- win10中Windows Defender 怎样打开?
- MySQL常见问题汇总(修改密码/远程权限)
- ibatis 查询异常 Parameter index out of range
- Cool Android Apis 整理(一)
- Linux内核的Oops
- caffe syncedmen 程序分析
- Android百分比布局支持库介绍——com.android.support:percent
- 如何修改eclipse的默认字符集和修改中文乱码
- C++的Public.lib(Public.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
- Google breakpad实战
- 百度搜索SDK开发者文档 乐点
- JavaScript的面向对象编程基础
- [leetcode] Implement strStr()
- openfire无法启动服务-------解决方案
- Scatter file