uva 11400——Lighting System Design
生活随笔
收集整理的這篇文章主要介紹了
uva 11400——Lighting System Design
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意: 給定一些燈泡,每種燈泡有不同的電壓v,電源費用k,每個燈泡的費用c,所需的燈泡的數量L,同種燈泡可以使用相同電源,問最小花費。
思路:dp,每種燈泡要么選要么不選兩種狀態,狀態轉移方程是d(i)=min(d[j]+(s[i]-s[j])*c[i]+k[i])。d[i]保存的是最小的開銷。
code:
#include <bits/stdc++.h> using namespace std;#define ft(i,s,t) for (int i=s;i<=t;i++) const int N=1005; const int INF=0x3f3f3f3f; struct node {int v,k,c,l; }g[N]; int d[N],s[N];bool cmp(node A,node B) {return A.v<B.v; } int main() {int n;while (~scanf("%d",&n),n){ft(i,1,n){scanf("%d%d%d%d",&g[i].v,&g[i].k,&g[i].c,&g[i].l);}sort(g+1,g+1+n,cmp);s[0]=0;ft(i,1,n) s[i]=s[i-1]+g[i].l;ft(i,1,n){d[i]=s[i]*g[i].c+g[i].k;ft(j,1,i)d[i]=min(d[i],d[j]+(s[i]-s[j])*g[i].c+g[i].k);}printf("%d\n",d[n]);} }總結
以上是生活随笔為你收集整理的uva 11400——Lighting System Design的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不孕不育发炎的原因
- 下一篇: uva 11584——Partition