poj1260——pearls
来源:互联网 发布:bgm是什么意思网络用语 编辑:程序博客网 时间:2024/05/16 06:38
题目大意:有不同种珍珠,更好种类的更贵,购买每种珍珠时要付额外10个该种珍珠的钱。给出珍珠的购买清单,包括每种珍珠所需个数及每种珍珠的价格,只能买与所需珍珠质量相等或更好的,问怎么买花费最少。
输入:case个数
casei的珍珠种类数c(1<=c<=100)
第j种的所需数量aj 价格pj
输出:最小花费
分析:动态规划
状态dp[i]:前i种珍珠可选时的最小花费
结果:dp[n]
初始化边界:dp[0]=0
状态转移方程:dp[i]=dp[i-1]+(a[i]+10)*p[i]
枚举j优化dp[i]=min{dp[i],(sum[i]-sum[j]+10)*p[i]+dp[j]}
代码:转自http://www.bubuko.com/infodetail-477817.html
#include <algorithm>#include <iostream>#include <cstring>using namespace std;int n,a[110],p[110],dp[110],s[110];int main(){int T;scanf("%d",&T); while(T--){scanf("%d",&n);s[0]=0;for(int i=1;i<=n;i++){scanf("%d%d",&a[i],&p[i]);s[i]=s[i-1]+a[i];}dp[0]=0;for(int i=1;i<=n;i++){dp[i]=dp[i-1]+(a[i]+10)*p[i];for(int j=0;j<i;j++)dp[i]=min(dp[i],dp[j]+(s[i]-s[j]+10)*p[i]);}printf("%d\n",dp[n]);}return 0;}
阅读全文
0 0
- POJ1260——Pearls
- poj1260——pearls
- poj1260——Pearls(dp)
- POJ1260--Pearls
- poj1260 Pearls
- poj1260 Pearls
- POJ1260 Pearls
- poj1260 pearls
- poj1260 Pearls
- poj1260 Pearls
- poj1260 Pearls
- POJ1260 Pearls
- POJ1260 Pearls DP
- POJ1260 Pearls Dynamic Programming
- Pearls poj1260 (DP)
- POJ1260 Pearls 解题报告
- poj1260 Pearls (dp)
- POJ1260 Pearls(DP)
- Personalized Ranking Metric Embedding for Nest New POI Recommendation
- 栈帧-操作数栈,帧数据区,栈上分配
- 学习笔记:Deep Neural Networks Segment Neuronal Membranes in Electron Microscopy Image
- HDU-1622 树的建&&立层次遍历 bug
- 二 微信打飞机
- poj1260——pearls
- 图片referer防盗链 python3
- NB-IoT使用笔记(4)在linux下使用搭建CoAP服务
- SSH整合
- 我的第二篇博客
- 第三章 1+2+..+n<8888的最大整数n
- 14.1 保护HTTP的安全
- 中小型互联网公司微服务实践-经验和教训
- mysql Access denied for user root@localhost错误解决方法总结 原创 2016年07月06日 17:00:40 41843 问题重现(以下讨论范围仅限Windo