题目:Lighting System Design

题意:

来自luogu——

给定 n(n≤1000)n(n≤1000) 种类型灯泡,每个灯泡给出其电压 v(v≤132000)v(v≤132000) ,电源花费 k(k≤1000)k(k≤1000) ,每个灯的花费 c(c≤10)c(c≤10) 和需求量 l(1≤l≤100)l(1≤l≤100) 。现在通过用电压大的灯泡替换某些电压小的灯泡来减小总花费,求最小的花费。

思路:

先以电压为关键字从小到大排序,此后,只能将排在前面的灯泡换成后面的灯泡。

令f[i]表示只前i种灯泡时的最小化费。

枚举j,令j+1~i的灯泡都变成i,转移方程 f[i]=min{ f[j]+(sum[i]-sum[j])*a[i].c+a[i].k } ,其中sum为前缀和。

代码:

#include<bits/stdc++.h>
using namespace std;#define maxn 1000
#define inf (1<<30)struct lgt{int v,k,c,l;bool operator < (lgt const oth) const {return v<oth.v;}
};int n;
lgt a[maxn+5];
int sum[maxn+5];
int f[maxn+5];void readin(){for(int i=1;i<=n;i++){scanf("%d%d%d%d",&a[i].v,&a[i].k,&a[i].c,&a[i].l);}sort(a+1,a+n+1);
}void init(){for(int i=1;i<=n;i++){sum[i]=sum[i-1]+a[i].l;f[i]=inf;}
}int slv(){for(int i=1;i<=n;i++){for(int j=0;j<i;j++){f[i]=min(f[i],f[j]+(sum[i]-sum[j])*a[i].c+a[i].k);}}return f[n];
}int main(){while(~scanf("%d",&n)&&n){readin();init();int ans=slv();printf("%d\n",ans);}return 0;
}

UVa 11400 Lighting System Design相关推荐

  1. Uva 11400 - Lighting System Design (DP)

    题目链接 https://cn.vjudge.net/problem/UVA-11400 [题意] 你的任务是设计一个照明系统,一共有n(n<=1000)个灯泡可以选择,不同种类的灯必须使用不同 ...

  2. uva 11400 - Lighting System Design(动态规划 最长上升子序列问题变型)

    本题难处好像是在于 能够把一些灯泡换成电压更高的灯泡以节省电源的钱 .所以也才有了对最优方案的探求 好的处理方法是依照电压从小到大排序.仅仅能让前面的换成后面的.也就满足了把一些灯泡换成电压更高的灯泡 ...

  3. uva 11400——Lighting System Design

    题意: 给定一些灯泡,每种灯泡有不同的电压v,电源费用k,每个灯泡的费用c,所需的灯泡的数量L,同种灯泡可以使用相同电源,问最小花费. 思路:dp,每种灯泡要么选要么不选两种状态,状态转移方程是d(i ...

  4. UVA - 11400 Lighting System Design(照明系统设计)(dp)

    题意:共有n种(n<=1000)种灯泡,每种灯泡用4个数值表示.电压V(V<=132000),电源费用K(K<=1000),每个灯泡的费用C(C<=10)和所需灯泡的数量L(1 ...

  5. Lighting System Design UVA - 11400 动态规划

    题目:题目链接 思路:简单的动态规划问题,先把灯泡按照电压从小到大排序.设s[i]为前i种灯泡的总数量(即L值之和),d[i]为灯 泡1-i的最小开销,则d[i] = min{d[j] + (s[i] ...

  6. Lighting System Design UVA 11400 (dp+思维)

    题目大意:有一个照明系统需要用到n种灯,每种灯的电压为V,电源费用K,每个灯泡费用为C,需要该灯的数量为L.注意到,电压相同的灯泡只需要共享一个对应的电源即可,还有电压低的灯泡可以被电压高的灯泡替代. ...

  7. Lighting System Design UVA - 11400 dp 更换灯泡

    题目链接:https://vjudge.net/problem/UVA-11400 紫书P275 题意:输入为电压.电源费用.灯泡单价.所需灯泡数量.电压低得灯泡可以被电压高的灯泡替换,求最小花费. ...

  8. Lighting System Design UVA - 11400 照明系统设计 线性结构dp

    题目链接 你的任务是设计一个照明系统.一共有n(n≤1000)种灯泡可供选择,不同种类的灯泡必须用不同的电源,但同一种灯泡可以共用一个电源.每种灯泡用4个数值表示:电压值V(V≤132000),电源费 ...

  9. 【动态规划】Lighting System Design 照明系统设计

    Description 你的任务是设计一个照明系统.一共有n(n≤1000)种灯泡可供选择,不同种类的灯泡必须用不同的电源,但同一种灯泡可以共用一个电源.每种灯泡用4个数值表示:电压值V(V≤1320 ...

最新文章

  1. openwrt 遍译php_完全新手教程:编译openwrt全过程
  2. HarmonyOS之在工程中导入Sample工程和添加Module
  3. 去除网页FLASH单击并激活此控件解决办法
  4. asp js单步调试_如何使用Chrome的控制台高效的调试Javascript代码?
  5. Apollo进阶课程㉔丨Apollo 规划技术详解——Motion Planning Environment
  6. 工程实践之 复杂保存解构 TODO
  7. java file 实例_Java File类的详解及简单实例
  8. FPGA数字信号处理(十)ASK调制技术
  9. r语言 月度消费频次_R语言基础-数据分析及常见数据分析方法
  10. AR 第一大单,微软 219 亿美元为美军打造高科技头盔
  11. 【真人手势动画制作软件】万彩手影大师教程 | 发布在线视频
  12. matlab金融时间序列分析,5 个 MATLAB 金融时序预测速查表
  13. 超星PDG格式转换成PDF格式及其它格式
  14. 计算机主机光盘故障,光盘放进电脑里打开了显示函数不正确是什么问题?怎么处理?...
  15. 没有钱没技术没学历应该怎么去创业?
  16. 使用ale-import-roms导入atari的rom时RuntimeError问题解决办法
  17. 初读YOLOv1算法
  18. 二进制部署kubernetes 1.25.5(二)
  19. 悖论在计算机中的应用,“索洛悖论”悖论 计算机影响随处可见
  20. Linux操作系统的基本使用(ubuntu)

热门文章

  1. 【中亦安图】Oracle内存过度消耗风险提醒(6)
  2. Monsters Battle Royale(gcd)
  3. RCS(Real-time control systems) 库
  4. 面试题测试APP汇总:快快来收藏起来背背吧
  5. 产品3周迭代一次,启信宝驾驭8000万企业征信的平台架构
  6. xargs 如何使用?
  7. 当前支付有效提高线下支付场景效率?
  8. 科技计算机作文200字,关于网络的作文200字(5篇)
  9. html蚊子背景色,室内养这10种植物超级驱蚊,再也不用担心家里被蚊子骚扰了!...
  10. 川普的退休生活?不,是AI算法的宅舞演绎。