【题意概述】

  有n只狼要杀,杀每只狼的代价是它的攻击值加上它相邻的存活的狼的附加值。求最小的代价。

【题解】

  区间DP.

  设f[i][j]为杀掉i~j的狼的最小代价,可以推出状态转移方程为f[i][j]=min(f[i][k]+f[k+1][j]+a[k]+b[i-1]+b[j+1]),枚举区间长度,起点和中间点即可转移。

  复杂度n三方。

 1 #include<cstdio>
 2 #include<algorithm>
 3 #include<cstring>
 4 #define LL long long
 5 #define rg register
 6 #define N 300
 7 using namespace std;
 8 int n,T,t,a[N],b[N],f[N][N];
 9 inline int read(){
10     int k=0,f=1; char c=getchar();
11     while(c<'0'||c>'9')c=='-'&&(f=-1),c=getchar();
12     while('0'<=c&&c<='9')k=k*10+c-'0',c=getchar();
13     return k*f;
14 }
15 inline void Pre(){
16     for(rg int i=1;i<=n;i++)
17         for(rg int j=i;j<=n;j++) f[i][j]=1e9;
18 }
19 int main(){
20     T=t=read();
21     while(t--){
22         n=read(); Pre();
23         for(rg int i=1;i<=n;i++) a[i]=read();
24         for(rg int i=1;i<=n;i++) b[i]=read();
25         for(rg int l=0;l<=n;l++){
26             for(rg int i=1;i+l-1<=n;i++){
27                 int j=i+l-1;
28                 for(rg int k=i;k<=j;k++) f[i][j]=min(f[i][j],f[i][k-1]+f[k+1][j]+a[k]+b[i-1]+b[j+1]);
29             }
30         }
31         printf("Case #%d: %d\n",T-t,f[1][n]);
32     }
33     return 0;
34 }

View Code

转载于:https://www.cnblogs.com/DriverLao/p/9457502.html

HDU 5115 Dire Wolf相关推荐

  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. HDU 5115 Dire Wolf (区间DP)

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

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

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

  4. hdu 5115 Dire Wolf 恐狼先锋

    题目含义:有200头狼站成一排,每一头狼有一个自身攻击力a[i],和一个buff(使得左右攻击力提升b[i]),决定一个杀死狼的顺序,使得自身受到伤害值最小. 恐狼先锋!!!! 合并类DP,f[i,j ...

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

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

  6. Dire Wolf(区间DP)

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

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

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

  8. hdu 5115 区间dp 狼BUFF

    题目大意:你是一个战士现在面对,一群狼,每只狼都有一定的主动攻击力和附带攻击力.你杀死一只狼.你会受到这只狼的(主动攻击力+旁边两只狼的附带攻击力)这么多伤害~现在问你如何选择杀狼的顺序使的杀完所有狼 ...

  9. HDU 5115 (区间DP)

    题目大意:你是一个战士现在面对,一群狼,每只狼都有一定的主动攻击力和附带攻击力.你杀死一只狼.你会受到这只狼的(主动攻击力+旁边两只狼的附带攻击力)这么多伤害~现在问你如何选择杀狼的顺序使的杀完所有狼 ...

最新文章

  1. 来阿里前 vs 来阿里后
  2. python所有插件框架_Python中实现简单的插件框架
  3. 怎么查看usb读取信息_电脑弹出USB设备时提示该设备正在使用中的解决方法
  4. DataSnap服务器从xe2升级到xe5报错的处理
  5. 匿存函数,内存函数,递归函数,二分法查找
  6. 【51单片机】STC-ISP软件保姆级烧录教程(以普中A2开发板为例)
  7. 翻译:Stairway to SQL Server Security Level 3: Principals and Securables
  8. vba手机号码归属_Android中手机号码归属地查询实现
  9. 解决RabbitMQ 集群搭建显示cookie
  10. 9个关键词,2万字漫谈元宇宙
  11. foobar2000_备份Foobar2000并将其传输到新计算机
  12. Vuforia Area及新功能讲解
  13. 2020面试准备之MySQL索引
  14. 读书之乐 摘自《致青年朋友》
  15. sybase客户端SqlDbx中文乱码问题解决
  16. 哪里有kitti数据集的百度云资源
  17. 云效,云原生时代一站式研发平台
  18. 第七章:项目成本管理 - (7.4 控制成本)
  19. App Store Connect 上构建的新版本上传后找不到,二进制文件无效
  20. 记录yolov5更改backbone为ShuffleBlock网络迁移训练出错问题以及解决方法

热门文章

  1. Sublime Text 3下Emmet使用技巧
  2. java中用iterator去检查最大值_Java中的Iterator vs forEach
  3. 三次握手和四次挥手图解_图解TCP三次握手和四次挥手
  4. windows安装 Chocolatey
  5. java同步通信方式_java多线程同步与通信示例(synchronized方式)
  6. java 代码通用结构_java spring代码通用结构-java
  7. python闭包的原理_web前端:js 闭包原理
  8. mysql extract month_MySQL日期时间 Extract(选取)函数
  9. 属于PHP语言结构的是,PHP语言结构
  10. .sql文件_面试题:mybatis 中的 DAO 接口和 XML 文件里的 SQL 是如何建立关系的?