hdu5115-Dire Wolf【区间dp】
正题
题目链接: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】相关推荐
- HDU 5115 Dire Wolf 区间dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5115 Dire Wolf Time Limit: 5000/5000 MS (Java/Others ...
- Dire Wolf(区间DP)
原题: Dire wolves, also known as Dark wolves, are extraordinarily large and powerful wolves. Many, if ...
- HDU 5115 Dire Wolf (区间DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5115 题意:很多狼排成一排,每只狼有一个攻击值a[i]和附加攻击值b[i].当你消灭一只狼时,你会受到 ...
- HDU 5115 M - Dire Wolf 【区间dp】
传送门 Dire wolves, also known as Dark wolves, are extraordinarily large and powerful wolves. Many, if ...
- HDU 5115 Dire Wolf ——(区间DP)
比赛的时候以为很难,其实就是一个区间DP= =..思路见:点我. 区间DP一定要记住先枚举区间长度啊= =~!因为区间dp都是由短的区间更新长的区间的,所以先把短的区间更新完.. 代码如下: 1 #i ...
- The 2014 ACM-ICPC BeiJing D - Dire Wolf HDU - 5115 区间dp
题意 n个狼 排成一排 我们要把一排狼都删除掉 删除一个狼的花费是这个狼的权值和左右两个狼的附加值 求最小花费 分析 考虑区间dp dp[i][j]表示i到j的最小花费 我们可以枚举其中的k 为序列中 ...
- hdu5115区间dp
题目地址 题意大致就是:很多头狼,每头狼都有自己的基础攻击力,相邻的狼可以增加攻击力,杀死一头狼的代价就是这条狼当前攻击力,比如三头狼的基础攻击力是(3,4,5),附加攻击力是(4,5,6),则攻击中 ...
- hdu5115(区间dp)
n头狼排成一列,每头狼有两个属性,基础攻击力和附加攻击力, 第i只狼的基础攻击力是ai,附加攻击力是b(i-1) + b(i+1) 消灭一只狼,受到的伤害为基础攻击力+附加攻击力. 问消灭所有的狼受到 ...
- 动态规划——区间dp
在利用动态规划解决的一些实际问题当中,一类是基于区间上进行的,总的来说,这种区间dp是属于线性dp的一种.但是我们为了更好的分类,这里仍将其单独拿出进行分析讨论. 让我们结合一个题目开始对区间dp的探 ...
- POJ 2955 Brackets (区间DP)
题目链接:http://poj.org/problem?id=2955 Brackets Time Limit: 1000MS Memory Limit: 65536K Total Submiss ...
最新文章
- taro引入f2图表_Package - taro-f2
- “数据中心迁移到IDC数据中心”最怕遇到这几个问题
- 特征工程——categorical特征 和 continuous特征
- Present算法verilog设计实现
- 一文看懂5G射频的“黑科技”
- html写界面,C++|Qt后台处理业务(后台登录例子JavaScript给Qt提供数据)
- 罗永浩直播成绩单:3小时带货超1.1亿元,近5000万人来听相声
- DeepWalk: Online Learning of Social Representations-2
- [王垠系列]GTF - Great Teacher Friedman
- U盘病毒专杀工具(usbcleaner)(绿色版)
- egret实现微信排行榜功能 (2018-8-20)
- OutLook的临时文件存放位置/打开邮件附件修改并保存附件没有更改
- 可以计算一元二次方程复数根的模拟计算机
- PMP项目进度网络图详解——第3篇:CCPM关键链法
- vue3中Provide/Inject的使用
- php向js的函数内传递参数-用经纬度计算2点间的距离
- java对图片进行压缩处理
- python定义一个dog类 类属性有名字_python 基础 12 初识类,类方法,类属性
- 跨国面板数据(1960-2020)七:银行、外汇、货币、利率、通货膨胀、债务(excel、stata版)
- 服务器虚拟化 硬件分区 电气隔离,HPE Integrity BL860c i6
热门文章
- ppt扇形图怎么显示数据_前方高能!多维数据分析的神器雷达图PPT制作教程来啦!...
- java.awt.headless_以编程方式设置java.awt.headless = true
- 使用remi安装php70,Linux下使用yum安装LNMP环境
- mysql在线快速修改密码_MySQL修改密码的几种方式
- 计算机系统的工作方式,某计算机系统输入/输出采用双缓冲工作方式,其工作过程如下图所示,假设磁盘块与缓冲 - 信管网...
- tensorflow打印模型图_从Tensorflow模型文件中解析并显示网络结构图(pb模型篇)...
- python编程中的小问题汇总
- [Java基础]Junit测试
- word List 45
- ImportError: libicui18n.so.56 and/or libicui18n.so.58 when importing cv2