正题

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5115


题目大意

有nnn只狼,击败第iii只狼会扣aia_iai​加上于其相邻的狼的bl+brb_l+b_rbl​+br​点hphphp。注意该狼被击败后会使原来于其相邻的狼变的相邻。


解题思路

显然区间dpdpdp,设fi,jf_{i,j}fi,j​表示已经击败了i∼ji\sim ji∼j这个区间的狼需要消耗的最小hphphp,那么有

因为每只狼都要击败,所以aia_iai​只需要求和统计到答案中去就好了

枚举最后一个击败第kkk只狼
fi,j=min{fi,k−1+fk+1,j}+bi−1+bj+1f_{i,j}=min\{f_{i,k-1}+f_{k+1,j}\}+b_{i-1}+b_{j+1}fi,j​=min{fi,k−1​+fk+1,j​}+bi−1​+bj+1​


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=210;
int T,n,ans;
int b[N],f[N][N];
int main()
{scanf("%d",&T);for(int ti=1;ti<=T;ti++){scanf("%d",&n);ans=0;b[n+1]=0;memset(f,0x3f,sizeof(f));for(int i=1;i<=n;i++)scanf("%d",&b[1]),ans+=b[1],f[i][i]=0;for(int i=1;i<=n;i++)scanf("%d",&b[i]),f[i+1][i+1]+=b[i],f[i-1][i-1]+=b[i];for(int l=2;l<=n;l++)for(int i=1;i<=n-l+1;i++){int j=i+l-1;f[i][j]=min(f[i+1][j],f[i][j-1]);for(int k=i+1;k<j;k++)f[i][j]=min(f[i][j],f[i][k-1]+f[k+1][j]);f[i][j]+=b[i-1]+b[j+1];}printf("Case #%d: %d\n",ti,f[1][n]+ans);}
}

hdu5115-Dire Wolf【区间dp】相关推荐

  1. HDU 5115 Dire Wolf 区间dp

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5115 Dire Wolf Time Limit: 5000/5000 MS (Java/Others ...

  2. Dire Wolf(区间DP)

    原题: Dire wolves, also known as Dark wolves, are extraordinarily large and powerful wolves. Many, if ...

  3. HDU 5115 Dire Wolf (区间DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5115 题意:很多狼排成一排,每只狼有一个攻击值a[i]和附加攻击值b[i].当你消灭一只狼时,你会受到 ...

  4. HDU 5115 M - Dire Wolf 【区间dp】

    传送门 Dire wolves, also known as Dark wolves, are extraordinarily large and powerful wolves. Many, if ...

  5. HDU 5115 Dire Wolf ——(区间DP)

    比赛的时候以为很难,其实就是一个区间DP= =..思路见:点我. 区间DP一定要记住先枚举区间长度啊= =~!因为区间dp都是由短的区间更新长的区间的,所以先把短的区间更新完.. 代码如下: 1 #i ...

  6. The 2014 ACM-ICPC BeiJing D - Dire Wolf HDU - 5115 区间dp

    题意 n个狼 排成一排 我们要把一排狼都删除掉 删除一个狼的花费是这个狼的权值和左右两个狼的附加值 求最小花费 分析 考虑区间dp dp[i][j]表示i到j的最小花费 我们可以枚举其中的k 为序列中 ...

  7. hdu5115区间dp

    题目地址 题意大致就是:很多头狼,每头狼都有自己的基础攻击力,相邻的狼可以增加攻击力,杀死一头狼的代价就是这条狼当前攻击力,比如三头狼的基础攻击力是(3,4,5),附加攻击力是(4,5,6),则攻击中 ...

  8. hdu5115(区间dp)

    n头狼排成一列,每头狼有两个属性,基础攻击力和附加攻击力, 第i只狼的基础攻击力是ai,附加攻击力是b(i-1) + b(i+1) 消灭一只狼,受到的伤害为基础攻击力+附加攻击力. 问消灭所有的狼受到 ...

  9. 动态规划——区间dp

    在利用动态规划解决的一些实际问题当中,一类是基于区间上进行的,总的来说,这种区间dp是属于线性dp的一种.但是我们为了更好的分类,这里仍将其单独拿出进行分析讨论. 让我们结合一个题目开始对区间dp的探 ...

  10. POJ 2955 Brackets (区间DP)

    题目链接:http://poj.org/problem?id=2955 Brackets Time Limit: 1000MS   Memory Limit: 65536K Total Submiss ...

最新文章

  1. taro引入f2图表_Package - taro-f2
  2. “数据中心迁移到IDC数据中心”最怕遇到这几个问题
  3. 特征工程——categorical特征 和 continuous特征
  4. Present算法verilog设计实现
  5. 一文看懂5G射频的“黑科技”
  6. html写界面,C++|Qt后台处理业务(后台登录例子JavaScript给Qt提供数据)
  7. 罗永浩直播成绩单:3小时带货超1.1亿元,近5000万人来听相声
  8. DeepWalk: Online Learning of Social Representations-2
  9. [王垠系列]GTF - Great Teacher Friedman
  10. U盘病毒专杀工具(usbcleaner)(绿色版)
  11. egret实现微信排行榜功能 (2018-8-20)
  12. OutLook的临时文件存放位置/打开邮件附件修改并保存附件没有更改
  13. 可以计算一元二次方程复数根的模拟计算机
  14. PMP项目进度网络图详解——第3篇:CCPM关键链法
  15. vue3中Provide/Inject的使用
  16. php向js的函数内传递参数-用经纬度计算2点间的距离
  17. java对图片进行压缩处理
  18. python定义一个dog类 类属性有名字_python 基础 12 初识类,类方法,类属性
  19. 跨国面板数据(1960-2020)七:银行、外汇、货币、利率、通货膨胀、债务(excel、stata版)
  20. 服务器虚拟化 硬件分区 电气隔离,HPE Integrity BL860c i6

热门文章

  1. ppt扇形图怎么显示数据_前方高能!多维数据分析的神器雷达图PPT制作教程来啦!...
  2. java.awt.headless_以编程方式设置java.awt.headless = true
  3. 使用remi安装php70,Linux下使用yum安装LNMP环境
  4. mysql在线快速修改密码_MySQL修改密码的几种方式
  5. 计算机系统的工作方式,某计算机系统输入/输出采用双缓冲工作方式,其工作过程如下图所示,假设磁盘块与缓冲 - 信管网...
  6. tensorflow打印模型图_从Tensorflow模型文件中解析并显示网络结构图(pb模型篇)...
  7. python编程中的小问题汇总
  8. [Java基础]Junit测试
  9. word List 45
  10. ImportError: libicui18n.so.56 and/or libicui18n.so.58 when importing cv2