SpellCards

题意:

  有n张符卡排成一个队列,每张符卡有两个属性,等级li和伤害di。 两种操作: 1、把队首的符卡移动到队尾;2、使用队首的符卡,对敌人造成di点伤害,并丢弃队首的li张符卡(包括使用的符卡)。如果队列不足li张符卡那么你不能使用。 求出造成的伤害的总和的最大值。 1<=n<=50, 1<=li<=50, 1<=di<=10000。

分析:

  由于第一种操作的存在, 可以将序列认为是一个环。如果一个方案合法,满足li的和<=n即可。因为总是可以改变使用的顺序,使得方案满足。设选择的有a,b,即使a后面的l[a]个包含b,但是可以先使用b,再使用a,其他的类似。

代码:

 #include<bits/stdc++.h>
using namespace std;
typedef long long LL; class SpellCards{
public:
int f[];
SpellCards() { memset(f, , sizeof(f)); }
int maxDamage(vector<int>L, vector<int>D) {
int n = L.size();
for (int i=; i<n; ++i) {
for (int j=n; j>=L[i]; --j)
f[j] = max(f[j], f[j - L[i]] + D[i]);
}
return f[n];
}
};

SRM 563 500pts SpellCards的更多相关文章

  1. SRM 563 Div1 500 SpellCards

    Description 有n张符卡排成一个队列,每张符卡有两个属性,等级lili和伤害didi. 你可以做任意次操作,每次操作为以下二者之一: 把队首的符卡移动到队尾. 使用队首的符卡,对敌人造成di ...

  2. Topcoder SRM 563 Div1 500 SpellCards

    题意 [题目链接]这怎么发链接啊..... 有\(n\)张符卡排成一个队列,每张符卡有两个属性,等级\(li\)和伤害\(di\). 你可以做任意次操作,每次操作为以下二者之一: 把队首的符卡移动到队 ...

  3. Topcoder口胡记 SRM 562 Div 1 ~ SRM 599 Div 1

    据说做TC题有助于提高知识水平? :) 传送门:https://284914869.github.io/AEoj/index.html 转载请注明链接:http://www.cnblogs.com/B ...

  4. 记第一次TopCoder, 练习SRM 583 div2 250

    今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要 ...

  5. SRM 513 2 1000CutTheNumbers(状态压缩)

    SRM 513 2 1000CutTheNumbers Problem Statement Manao has a board filled with digits represented as St ...

  6. SRM 510 2 250TheAlmostLuckyNumbersDivTwo(数位dp)

    SRM 510 2 250TheAlmostLuckyNumbersDivTwo Problem Statement John and Brus believe that the digits 4 a ...

  7. SRM 657 DIV2

    -------一直想打SRM,但是感觉Topcoder用起来太麻烦了.题目还是英文,不过没什么事干还是来打一打好了.但是刚注册的号只能打DIV2,反正我这么弱也只适合DIV2了.. T1: 题目大意: ...

  8. TopCoder SRM 633div1

    250pts   PeriodicJumping 题意:从起点开始,每次按找数组jump给定的长度,即jump[0], jump[1], jump[2].....jump[n-1], 向各个方向跳,跳 ...

  9. SRM DIV1 500pt DP

    SRM 501 DIV1 500pt SRM 502 DIV1 500pt SRM 508 DIV1 500pt SRM 509 DIV1 500pt SRM 511 DIV1 500pt SRM 5 ...

随机推荐

  1. 四级菜单实现(Python)

    menu_dict = { '山东' : { '青岛' : { '四方':{'兴隆路','平安路','杭州路'}, '黄岛':{}, '崂山':{} }, '济南' : { '历城':{}, '槐荫' ...

  2. docker-5-容器数据卷

    1.是什么 一句话:有点类似我们Redis里面的rdb和aof文件   先来看看Docker的理念: *  将运用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的 ...

  3. 一款不错的网站压力测试工具webbench

    webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 引用 wget htt ...

  4. 使用yum命令时提示:Another app is currently holding the yum lock

    yum正在使用,用kill命令杀死进程就可以了. 1.查看yum使用进程号 ps aux|grep yum 2.杀死进程 kill -9 进程号

  5. 区别Lua模式匹配中 %a+ 与 .-

    匹配单词与匹配字符 > print(string.gsub("hello!zzy","%a+","tina"))tina!tina   ...

  6. java 进销存 crm 客户管理 库存管理 商户管理 springmvc SSM 项目

    系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3  SSM ...

  7. 在金融服务计算中,必须要使用BigDecimal

    在Java程序开发过程中,比较初级(工作经验受限)的开发人员,把注意力全部放在了一些高大上的新技术中,往往忽略了一些初级问题.. 金融服务系统中,对金额的敏感至关重要,账户余额.还款金额.代收本金.代 ...

  8. PE下安装官方WIN7

    进入PE后,用虚拟光驱 加载 win*.iso 文件后,运行安装程序setup.exe. 开始安装:

  9. thinkphp5.1 学习笔记 【多态关联】

    $result = Draft::update($input, ['id' => $input['id']], true); if (!empty(array_get($input, 'hous ...

  10. [已解决]Vistual Stdio 2015 installer Bootstrapper Packages 路径

    VS2015 installer 的预装包的地址变更成 C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Pac ...