ZUFE2389: Occult的卡片升级计划(DP) 2016-05-17 23:12 113人阅读 评论(0) 收藏
2389: Occult的卡片升级计划
Description
Occult喜欢玩一款手游,手游中有很多好看的卡片。他想要升级这些卡。
现在他有m块经验石,目标是强化一张卡片,卡片最开始的时候是0级,卡片会升级,而升级所需的经验会越来越多。
假设卡片满级是n级,给出a[1],a[2]....a[n],a[i]表示从i-1级升到i级所需的经验石数量。保证a[1]+a[2]+...+a[n]=m,且a[1]<=a[2]<=..<=a[n]。
然而每次强化是要付钱的,并且每次加的经验石的数量是有限的,最多为10个。
每一次强化要付的金钱等于这一次加的经验石的数量乘上当前卡片的等级。
Occult想知道要把这张卡片从0级升到满级最少需要支付多少金钱。
例如输入:
2 15
5 10
表示卡片满级是2级,现在有15块经验石。第0级升到第1级所需的经验石数量是5个,第1级升到第2级所需的经验石数量是10个。
我们可以采取以下升级策略,使得支付的金钱最少:
[第一次强化]
加4个经验石。这次强化的费用:0级×4个石头=0元。强化之后升到了0级。
[第二次强化]
加10个经验石。这次强化的费用:0级×10个石头=0元。强化之后升到了1级。
[第三次强化]
加1个经验石。这次强化的费用:1级×1个石头=1元。强化之后升到了2级。
强化完毕,把三次的花费加起来,是1元。
Input
多组测试数据。
每组测试数据第一行输入n,m。(0<n<=m<=100000)
第二行输入n个整数a[1],a[2]......,a[n]。
保证a[1]+a[2]+...+a[n]=m,且a[1]<=a[2]<=..<=a[n]。
Output
对于每组测试数据,输出卡片从0级升到满级需要支付的最少金钱。
Sample Input
2 15
5 10
Sample Output
1
#include <iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
int min(int a, int b)
{
return (a < b) ? a : b; }
int main()
{
int m, n, a[100005], cnt, tot, sum;
long long int s[100005], mn, k[100005], j;
while (~scanf("%d%d", &n, &m))
{ for (int i = 1; i <= n; i++)
scanf("%d", &a[i]);
cnt = 0;
tot = 2;
sum = a[1];
memset(k, 0, sizeof(k));
for (int i = 0; i <= m; i++)
{
if (i>=sum)
{
cnt++;
sum += a[tot++];
}
k[i] += cnt;
}
s[0] = 0;
for (int i = 1; i <= m; i++)
{
mn = s[i - 1] + k[i - 1];
for (j = 1; j <= 10; j++)
{
if (j>i)
break;
mn = min(mn, s[i - j] + k[i - j] * j);
}
s[i] = mn;
}
printf("%lld\n", s[m]);
}
return 0;
}
ZUFE2389: Occult的卡片升级计划(DP) 2016-05-17 23:12 113人阅读 评论(0) 收藏的更多相关文章
- hdu 1231, dp ,maximum consecutive sum of integers, find the boundaries, possibly all negative, C++ 分类: hdoj 2015-07-12 03:24 87人阅读 评论(0) 收藏
the algorithm of three version below is essentially the same, namely, Kadane's algorithm, which is o ...
- HDU1506(单调栈或者DP) 分类: 数据结构 2015-07-07 23:23 2人阅读 评论(0) 收藏
Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 分类: dp 2015-05-21 10:50 14人阅读 评论(0) 收藏
Description 急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并 ...
- hdu3853 LOOPS(概率dp) 2016-05-26 17:37 89人阅读 评论(0) 收藏
LOOPS Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others) Total Su ...
- Hdu2102 A计划 2017-01-18 14:40 60人阅读 评论(0) 收藏
A计划 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submissio ...
- HDU1078 FatMouse and Cheese(DFS+DP) 2016-07-24 14:05 70人阅读 评论(0) 收藏
FatMouse and Cheese Problem Description FatMouse has stored some cheese in a city. The city can be c ...
- Max Sum—hdu1003(简单DP) 标签: dp 2016-05-05 20:51 92人阅读 评论(0)
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- Murano Weekly Meeting 2016.05.17
Meeting time: 2016.May.17 1:00~2:00 Chairperson: Kirill Zaitsev, from Mirantis Meeting summary: 1 ...
- 2016/05/17 thinkphp3.2.2 分页的使用:①在Home下设置Publics文件夹或在thinkPHP下library的vender 把page.class.php 考贝进入 ②通过new 实例化方式调用 $page=new \Home\Publics\Page($total,3);
注意分页的方法有两种:一种是thinkphp3.2 自带的 另一种是之前新闻页用过的 显示效果稍有差别 显示效果: 细节问题: ①搜索页面 要加session判断 和 分页 ②修改 ...
随机推荐
- ArcGIS案例学习笔记3_2
ArcGIS案例学习笔记3_2 联系方式:谢老师,135-4855-4328, xiexiaokui#qq.com 时间:第3天下午 内容:CAD数据导入,建库和管理 目的:生成地块多边形,连接属性, ...
- 2017面向对象程序设计(Java)第三周学习总结
白驹过隙,日月如梭,一转眼,我们已经度过了第三周的学习时光,随着时间的一天天流逝,我么对知识的积累也逐渐增多.当然,我们还有许许多多需要改进的地方.下面,我将对第三周的助教工作进行总结,望老师及同学们 ...
- 这两天的刷机+Root
最近为了研究Xposed框架的搭建使用,将自己红米Note2尝试root后,开不了机了.后使用(网上下载的线刷宝,刷的官网线刷宝成功开机了,然后里面会自带很多软件,然后通过下载KingRoot将手机自 ...
- HTML的实际演练2
1.html 换行: 如果你想在不产生新的段落下换行,就使用<br/><p>tishi is a praskdjf<br/>ldkfldj</p> 2. ...
- switch_to_frame,切换frame框架
页面包含frame/iframe标签,需要先切换到该frame标签,再去定位属于这个frame的元素. 如果要再去定位其他frame的元素,需要回到该frame的上级,定位到要选择的frame,不 ...
- 使用python发送邮件
最近需要做一个功能,统计bug的数量,然后发邮件给指定人,所有就先要了解一下使用python发送邮件 代码如下: #coding: utf-8 import smtplib from email.MI ...
- UVa 10763 Foreign Exchange(map)
Your non-profitorganization (iCORE - international Confederationof Revolver Enthusiasts) coordinates ...
- collections之命名元组
#python中没有为我们提供可命名的tuple的类,这个类需要我们自己来定义,下面我们就自己来定义一个类,然后namedtuple就是可以通过名称来get#tuple中的元素,python中的tup ...
- python事件驱动的小例子
首先我们写一个超级简单的web框架 event_list = [] #这个event_list中会存放所有要执行的类 def run(): for event in event_list: obj = ...
- Maven核心简析
本文以类图的方式,介绍maven核心的12个概念以及相互之间的关系. Table of Contents 1 maven管理的目标:工程(Project) 1.1 工程依赖关系 1.2 工程聚合关系 ...