FJoi2017 1月20日模拟赛 恐狼后卫(口糊动规)

Problem 1 恐狼后卫(wolf.cpp/c/pas)

【题目描述】


著名卡牌游戏《石炉传说》中有一张随从牌:恐狼后卫。恐狼后卫的能力是使得相邻随从的攻击力提高。

现在有n张恐狼后卫顺序排成一排,第i只恐狼后卫的攻击力为a[i],血量为h[i],提升相邻随从的攻击力值为b[i]

你的攻击力为atk,每次攻击你可以选择一只存活的恐狼后卫,减少其血量值atk。若其血量小于等于0,则该恐狼后卫死亡。当某只恐狼后卫死亡时,其左右两侧(若存在)的恐狼后卫会靠拢并成为相邻关系。

在攻击第i只恐狼后卫时,除了要承受这只恐狼后卫自身的攻击力a[i]之外,还要承受与其相邻的2张恐狼后卫的提高攻击力值b[i-1]b[i+1](若存在)。

你的任务是承受最少的总伤害杀死所有恐狼后卫,输出需承受的伤害值。


【输入格式】


第一行一个正整数n,表示恐狼后卫的数量。

第二行一个正整数atk,表示你的攻击力。

以下n行,每行3个值:a[i]b[i]h[i],分别表示第i只恐狼后卫自身的攻击力值、提升相邻随从的攻击力值、血量值。


【输出格式】


一个整数,表示杀死所有恐狼后卫需要承受的最少伤害值。


【样例输入】

3

1

8 1 6

3 5 7

4 9 2

【样例输出】

94

【数据范围】

对于30%的数据,n <= 10

对于另外30%的数据,n <= 100, h[i] = 1

对于100%的数据,n <= 400atka[i]b[i]h[i] <= 1000

很简单,区间动规嘛,我这样的juruo都现场ac了。设状态f[i][j]代表开区间(i,j)内的东东被全部杀掉的代价。

转移方程为f[i][j]=min{f[i][k]+f[k][j]+attack[k]+improvement[i]+improvement[j]}

省选培训第二次模拟赛rank20+,果然我还是太弱

posted @ 2017-01-20 20:31  keshuqi  阅读(359)  评论(0编辑  收藏  举报