日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Uva 11400,照明系统设计

發布時間:2023/12/4 windows 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Uva 11400,照明系统设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接:https://uva.onlinejudge.org/external/114/11400.pdf

?

題意:有一個照明系統需要用到n種燈,每種燈的電壓為V,電源費用K,每個燈泡費用為C,需要該燈的數量為L。注意到,電壓相同的燈泡只需要共享一個對應的電源即可,還有電壓低的燈泡可以被電壓高的燈泡替代。為了節約成本,你將設計一種系統,使之最便宜。

?

分析:每種電壓的燈泡要么全換,要么都不換,不然兩種電源都不要。因為低電壓燈泡可以用較高的電源。按電壓從低到高排一遍。

設s[i] 前 i 種燈泡的總數量, d[i] 為燈泡1~i的最小開銷,d[i] = min(d[j]+(s[i]-s[j])*c[i]+k[i]),前 j 個先用最優方案,后面的 j+1~i都用第 I 號的電源。

?

#include<iostream> #include<algorithm> using namespace std;const int maxn = 1000 + 5;struct Lamp {int v, k, c, l;bool operator < (const Lamp& rhs) const {return v < rhs.v;} } lamp[maxn];int n, s[maxn], d[maxn];int main() {while(cin >> n && n) {for(int i = 1; i <= n; i++)cin >> lamp[i].v >> lamp[i].k >> lamp[i].c >> lamp[i].l;sort(lamp+1, lamp+n+1);s[0] = 0;for(int i = 1; i <= n; i++) s[i] = s[i-1] + lamp[i].l;d[0] = 0;for(int i = 1; i <= n; i++) {d[i] = s[i] * lamp[i].c + lamp[i].k; // 前i個燈泡全買類型ifor(int j = 1; j <= i; j++)d[i] = min(d[i], d[j] + (s[i] - s[j]) * lamp[i].c + lamp[i].k);}cout << d[n] << "\n";}return 0; }

?

轉載于:https://www.cnblogs.com/TreeDream/p/5991014.html

總結

以上是生活随笔為你收集整理的Uva 11400,照明系统设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。