hdu5115

HDU5115(区间dp)详解 题目大意:你是一个战士现在面对,一群狼,每只狼都有一定的主动攻击力和附带攻击力。你杀死一只狼。你会受到这只狼的(主动攻击力+旁边两只狼的附带攻击力)这么多伤害~现在问你如何选择杀狼的顺序使的杀完所有狼时,自己受到的伤害最小。(提醒,狼杀死后就消失,身边原本相隔的两只狼会变成相邻,而且不需要考虑狼围城环这种情况)输入要求:总共T组数据,每组N只狼,按顺序输入全部狼的主动攻击力和然后再按顺序输入全部狼的 阅读详情
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5115


题意:有一些狼,从左到右排列,每只狼有一个伤害A,还有一个伤害B。杀死一只狼的时候,会受到这只狼的伤害A和这只狼两边的狼的伤害B的和。若两只狼之间的狼都被杀了,这两只狼也算相邻。求杀掉一排狼的最小代价。


思路:区间DP,设f[i][j]为消灭i到j只狼的代价,枚举k作为最后一只被杀死的狼,此时会受到a[k]和b[i-1] b[j+1]的伤害 取最小的即可 
转移方程:dp[i][j]= 

Min(dp[i][j],dp[i][k-1]+dp[k+1][j]+a[k]+b[i-1]+b[j+1])


#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int inf=0x3f3f3f3f;
int a[205],b[205];
long long dp[205][205];
int main()
{
    int T,n,ca=1;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            scanf("%d",&a[i]);
        for(int i=1;i<=n;i++)
            scanf("%d",&b[i]);
        a[0]=b[0]=a[n+1]=b[n+1]=0;
            /*
        for(int i=0;i<=n;i++)
        {
            for(int j=i;j<=n;j++)
                dp[i][j]=inf;
        }
        */
        memset(dp,0x7F,sizeof(dp));
        for(int l=0;l<n;l++)
        {
            for(int i=1;i<=n-l;i++)
            {
                int j=i+l;
                for(int k=i;k<=j;k++)
                {
                	long long L,R;
                	if(k-1<i) L=0;else L=dp[i][k-1];
                	if(k+1>j) R=0;else R=dp[k+1][j];
                	dp[i][j]=min(dp[i][j],L+R+a[k]+b[i-1]+b[j+1]);
                   // dp[i][j]=min(dp[i][j],dp[i][k-1]+dp[k+1][j]+a[k]+b[i-1]+b[j+1]);
                }
            }
        }
        printf("Case #%d: %lld\n",ca++,dp[1][n]);
    }
    return 0;
}




HDU-5115-Dire Wolf HDU-5115-Dire Wolf 传送门 本题是经典区间dp。 题目大意:背景无比长。。一个射手要射一群狼。狼有自己本身的攻击值和邻居的狼给它的额外的攻击值。射手把一头狼射杀。自己也会收到与狼攻击值等同的伤害。(本身攻击值+额外获得的攻击值)。当一头狼被射杀。那么它给邻居狼的额外攻击值也会消失。问射手最小获得的伤害是多少。 其实开始我以为是贪心啊哈哈。 因为是经典区间dp嘛。就不多说了。 dp... 阅读详情

相关推荐

ABAP HANA BP主数据批导

SAPhana官方推荐的创建bp主数据的类是CL_MD_BP_MAINTAIN 客户的创建具体示例代码如下: DATA: LT_RETURN_MAP TYPE MDG_BS_BP_MSGMAP_T. DATA: LS_RETURN_MAP TYPE MDG_BS_BP_MSGMAP. DATA: LS_MESSAGE_MAP TYPE MDG_BS_BP_MSGMAP_KEY. DATA: LT_DATA TYPE CVIS_EI_EXTERN_.

IamRunjiang的博客 4143

hdu5115(区间dp)

n头狼排成一列,每头狼有两个属性,基础攻击力和附加攻击力, 第i只狼的基础攻击力是ai,附加攻击力是b(i-1) + b(i+1) 消灭一只狼,受到的伤害为基础攻击力+附加攻击力。 问消灭所有的狼受到的最小伤害。 基础攻击力的伤害肯定是要承受的。关键是怎么将附加攻击力的伤害降低到最小 像这种不能从前往后状态转移的dp,应该是用区间dp。 设dp[i][j] 为消灭区间i->j所有...

weixin_30263277的博客 196

DM达梦数据库远程客户端工具连接6001错误,disql可以正常连接

DM达梦数据库远程客户端工具连接6001错误,disql可以正常连接

weixin_45906061的博客 4510

HDU - 5115 (经典区间dp)

题意:n头狼,杀死第i头狼会受到b[i-1]+b[i+1]+a[i]的伤害,问杀死所有狼受到的最小伤害值。 因为无论怎么选,a值都只需要加一遍,所以先把a的和算出来,最后加到答案上就行了。 我们可以在两边加一头a值和b值都为0的狼,dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]+b[i]+b[j]); 答案为dp[0][n+1]. #include #in

阿狸的博客 436

DSP28335量产升级避坑指南:C2Prog串口烧录.hex文件,为什么我推荐COM1?

本文详细解析了DSP28335量产升级中C2Prog串口烧录.hex文件的最佳实践,重点推荐使用COM1端口以确保稳定性。通过实测数据和底层机制分析,揭示了Windows系统对COM1的特殊优化及C2Prog工具的时钟切换逻辑,帮助开发者规避常见陷阱,提升烧录成功率。

weixin_27066963的博客 384

数字后端流程--place

Floorplan完成后芯片的大致框架已经出现,万里长征已经迈出特别重要的第一步了,前面的步骤我们已经完成了io port,macro的摆放,现在core外只剩下std cell(标准单元)了,Place这一步就是要把std cell放进core里。看到密密麻麻的std cell也不用紧张,因为放std cell不用像macro手动一个一个摆,工具就可以帮我们完成大部分工作。虽然这一步的工作只有一个,但也不是只要Place完就能进行下一步的,衡量Place质量是否满足标准会通过以下几点判断。

qq_68400574的博客 772

hdu 5115 思维 dp

题意:你要杀死n只狼,对于每个狼有对应的a[i]表示其本身的战斗力,b[i]表示他可以给左右(如果有的话)的两匹狼提供b[i]的战斗力提升buff,问杀掉所有狼的最小费用。 无论杀的方法,最后肯定要花费,所以只对b进行考虑,最后加上a的和。   由矩阵链乘引起的思路:用dp[i][j]表示杀光从i到j所有狼的费用。 从i到j枚举k,k表示最后一只杀死的狼,这样就把i-j分为了三个部分:[i...

neuq_zsmj的博客 249

谷歌学术用publish-or-perish来对引用量排序

用谷歌学术搜索文献的时候发现不能按照引用量高低进行排序,网上提供了这个软件。 下载地址如下:Publish or Perish (harzing.com)https://harzing.com/resources/publish-or-perish 关于软件界面页面和各种指标的介绍,可以参考中科大的这个PPT: 文献分析软件——publish or perish(精品·公开课件).ppt (book118.com)https://max.book118.com/html/2018/1124/813

m0_48878989的博客 1万+

Dire Wolf (区间dp经典题)

Dire wolves, also known as Dark wolves, are extraordinarily large and powerful wolves. Many, if not all, Dire Wolves appear to originate from Draenor. Dire wolves look like normal wolves, but these ...

自渡的博客 1848

vue2 - elementUI表格table树形结构复选框勾选父子联动示例,el-table树状表格tree复选框checkbox多选框全选/反选取消children(当子级全选中,父级自动勾选)

vue2,elementui,el-table树状表格多选,树形结构结合多选框使用,实现单选父子联动全选反选,勾选联动父级勾选,表格多选check父子联动,table表格children如何嵌入复选框,el-table使用多选框与树形数据写一个有半选全选功能的表格,el-table树形表格实现复选框多选效果,表格树状结构多选,每一个row都可以选中并且联动全选按钮,table选父带子选子带父,树形数据与懒加载,Table表格树形结构多选框选中父级时会选中子级,elementUI表格里树形结构嵌套复选框全选全

✅ 精选推荐文章 1万+

【异常】Cursor 编辑器 “Too many computers“ 报错排查与完整解决方案

该报错通常在启动Cursor、调用AI对话/代码补全核心功能时触发,会直接阻断编辑器AI能力的正常使用。

奶爸的编程之路,也就一周冷个三天 461

HDU - 5115

题目链接:HDU - 5115 不难看出可以区间dp,不过有一些小技巧。 假设当前第一个攻击的区间为【l,r】,这个区间最后死的狼是k,那么就很好转移了。如果枚举第一个死的狼,不好转移。 AC代码: #pragma GCC optimize("-Ofast","-funroll-all-loops") #include<bits/stdc++.h> //#define int lo...

青烟绕指柔的博客 537

《网络安全自学教程》- MySQL脱库原理和步骤

MySQL脱库,脱库的原理,怎么脱库,脱库的步骤,一库三表六字段

wangyuxiang946的博客 1万+

hdu 5115 Dire Wolf

HDU 5115  2014 ACM/ICPC Asia Regional - Beijing D题 题意:有n头狼,每头狼都有一个基础攻击,而且每一头狼都会给邻近的狼增加攻击,杀掉一头狼受到的伤害为它的攻击力,求杀掉所有狼受到的最小伤害是多少? 分析:很明显属于一个多阶段决策问题,考虑DP,问题规模为杀掉1到n这n头狼,区间DP,令dp[i][j]为杀掉第i头狼到第j头狼受到的

我的ACM,我的梦!!! 898

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

HDU 5115 Dire Wolf(区间dp)

目录问题概述4维状态设计分析代码2维状态设计分析代码 问题 HDU 5115 Dire Wolf - https://acm.hdu.edu.cn/showproblem.php?pid=5115 概述 方法:区间dp 对于一个区间 [l][r][l][r][l][r],设最后打败的编号是 k(l≤k≤r)k (l\leq k \leq r)k(l≤k≤r),则问题可以分解为两个子问题,即 [l][k−][l][k-][l][k−]和[k+1][r][k+1][r][k+1][r],因此遍历 kkk 后即

jpphy0的博客 457

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

HDU5115 Dire Wolf 区间dp

HDU5115 Dire Wolf杀掉某只狼之后, 他左右的狼会相邻。杀掉某个区间的狼之后,攻击力是区间两边的狼的加成。#include <cstdio> #include <cstring> #include <iostream> #include <cstdlib> using namespace std;#define MAXN (200+20) int a[MAXN], b[MAXN]; i

QER 的博客 467

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

hdu5115 Dire Wolf--区间DP

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

半壶老酒 717

解题报告 之 HDU5115 Dire Wolf

解题报告 之 hdu5115 Dire Wolf Description Dire wolves, also known as Dark wolves, are extraordinarily large and powerful wolves. Many, if not all, Dire Wolves appear to originate from Draenor.

JUST CODE 838

HDU 5115 Dire Wolf (区间DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5115 题目大意:有一些狼,从左到右排列,每只狼有一个伤害A,还有一个伤害B。杀死一只狼的时候,会受到这只狼的伤害A和这只狼两边的狼的伤害B的和。若两只狼之间的狼都被杀了,这两只狼也算相邻。求杀掉一排狼的最小代价。解题思路:设dp[i][j]为消灭编号从i到j只狼的代价,那么结果就是dp[1...

weixin_30824599的博客 74

HDU 5115 Dire Wolf | 区间DP

题目: http://acm.hdu.edu.cn/showproblem.php?pid=5115 题解: 和上篇博客一样 #include<cstdio> #include<algorithm> #include<cstring> #define N 205 using namespace std; int n,a[N],b[N],...

weixin_30925411的博客 95

HDU_5115 Dire Wolf

#include #include #include #include #include #include using namespace std; typedef long long ll; const int maxn=220; #define INF 0x3f3f3f3f int a[maxn],b[maxn],dp[maxn][maxn]; int main(

老子(道家) 356

刷基础题-hdu5115

http://acm.hdu.edu.cn/showproblem.php?pid=5115 2019.5.30 简单的区间dp,攻击一匹狼的花费是这匹狼的攻击力和相邻狼的额外攻击力 #include <stdio.h> #include <algorithm> #include <string.h> #define mem(x,y) memset(x,y,si...

x3219935858的博客 190

Hdu5115 Dire Wolf

http://acm.hdu.edu.cn/showproblem.php?pid=5115 题目大意:n头狼,分别有一个攻击力,而且分别有一个加持力,可以给左右两边的狼加相应的攻击力(边界的狼就只能给相邻的一头狼加) ,一个人要杀狼,杀一头狼时受到该狼的攻击力和来自周围的加持力。被杀死的狼的加持力消失,但其他狼又会更新加持力(因为相邻的位置变化了)。问该人能够把全部狼杀光,且最小受到多少伤害?...

weixin_30906701的博客 61

HDU 5115 (2014ACM/ICPC亚洲区北京站) D题(Dire Wolf)

题目传送门 设dp[i][j]为杀掉区间i到j之间的狼需要付出的最小代价,那么dp[i][j]=min{dp[i][k-1]+dp[k+1][j]+a[k]+b[i-1]+b[j+1]} Java代码 import java.io.*; import java.util.*; class MyInputStream extends InputStream { public B...

weixin_34192993的博客 172

Dire Wolf HDU - 5115 区间DP,寒假集训

有n头狼排成一排,每只狼两个属性,攻击力和加成值,狼的实际攻击力等于自身攻击力加相邻狼的加成值,被杀死之后的狼对相邻的狼的攻击力的加成会被取消,同时,原先与 被杀死的狼相邻的两头狼会变成相邻的狼。问杀死所有狼受到的伤害值最小是。 Input 多组输入,第一行一个T 每组输入一个n(n <= 200) 输入n个数,代表每只狼的攻击力(0<=a[i] <=1e5) 输入n个数,代表每只狼的加成值(0<=b[i]<=5e4) Output 每组样例输出一个Case,然后输出答案。 S

qq_45891413的博客 256

HDU 5115 Dire Wolf 区间DP+记忆化搜索

Dire Wolf Time Limit: 5000/5000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others) Total Submission(s): 749 Accepted Submission(s): 438 Problem Description Dire wolves, also known

wind-wing 422
上一篇: Subsequence hdu3530
下一篇: hdu 5120
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值