传送门

描述:

有几种不同的珍珠。每种珍珠都有它的单价。当然质量高的珍珠价格一定也是高的。

为了避免买家只买1个珍珠。就要求不论是买了多少个珍珠都是需要在购买数量上加10.之后乘上单价。

例如:买5个单价是10的珍珠。需要的花费是\((5+10)×10=150\).买100个单价是20的珍珠花费是\((100+10)×20=2200\)

单价越大的珍珠可以顶替单价较小的珍珠

求出满足珍珠要求的最小花费。

sf

首先可以发现,如果用价值较大的去顶替价值较小珍珠的时候

要么划算,全部顶替

要么不划算,一颗都不顶替

然后,如果可以顶替价值较小珍珠还划算,那么去顶替价值稍大的珍珠也一定划算

但是反过来结论并不成立。

所以定义dp[i]为前i种的花费

每次枚举当前珍珠要往前顶替几种珍珠

如果没有注意到这个结论,那么就要枚举珍珠类别,枚举上一种珍珠选的个数,枚举这次要选的个数

不管时间还是空间都吃不消

#include <bits/stdc++.h>
using namespace std;
int shu[109],v[109],dp[109];
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
for(int i=1;i<=n;i++) cin>>shu[i]>>v[i];
memset(dp,20,sizeof(dp));
dp[0]=0;
for(int i=1;i<=n;i++)
{
int num=0;
for(int j=1;j<=i;j++)//包括第i种的前j种
{
num+=shu[i-j+1];//要买这么多
dp[i]=min(dp[i],dp[i-j]+(num+10)*v[i]);
}
}
cout<<dp[n]<<endl;
}
}

HDU1300Pearls的更多相关文章

随机推荐

  1. PHP 5.6连接MySQL 8.0版本遇到的坑

    一.数据库失败Warning: mysqli_connect(): The server requested authentication method unknown to t... <?ph ...

  2. L9循环神经网络进阶 ModernRNN

    GRU RNN存在的问题:梯度较容易出现衰减或爆炸(BPTT) ⻔控循环神经⽹络:捕捉时间序列中时间步距离较⼤的依赖关系 RNN: Ht=ϕ(XtWxh+Ht−1Whh+bh) H_{t} = ϕ(X ...

  3. Git敏捷开发--reset和clean

    reset 丢弃本地所有修改,强行和上游分支保持一致 git reset --hard HEAD 若仅丢弃某个文件的改动,利用checkout git checkout your_file clean ...

  4. adb命令查看手机应用内存使用情况

    adb shell回车 一.procrank VSS >= RSS >= PSS >= USSVSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)是单个 ...

  5. api测试用例(编写思路)

    在API的自动化测试维度中,测试维度分为两个维度,一个是单独的对API的验证,客户端发送一个请求后,服务端得到客户端的请求并且响应回复给客户端: 另外一个维度是基于业务场景的测试,基于业务场景的也就是 ...

  6. RabbitMQ 消息队列入门

    文档 入门 主要的内容:one two three four five six seven 前言 中间件 消息队列 异步处理,注册完发短信 应用解耦,订单接口调用扣库存接口,失败了怎么办? 流量削峰, ...

  7. C++调用TensorFlow

    在使用C++调用TensorFlow接口时出现的问题,网上没有资料,问了老师才知道的. Exception ignored in: <module 'threading' from 'E:\\t ...

  8. pytorch LSTM情感分类全部代码

    先运行main.py进行文本序列化,再train.py模型训练 dataset.py from torch.utils.data import DataLoader,Dataset import to ...

  9. java中String StringBuilder StringBuffer比较和效率(性能)测试

    string stringbuilder stringbuffer三者的区别 从JDK源码看,String.StringBuilder.StringBuffer都是存放在char[] 数组字符串. 简 ...

  10. Docker 中如何安装配置 Nginx

    拉取 nginx 最新版镜像,然后简单启动一个 nginx 容器: docker pull nginx:latest docker run --name nginx01 -d -p 80:80 ngi ...