题目链接

一开始很自然的想到了贪心,跑了一下贪心,发现无法处理某一段已经被选走的情况,根据数据范围,区间dp比较适合,能储存区间取样信息

设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]),也就是说选用k为中间点,合并i-(k-1),(k+1)-j两个区间,且这两个区间已经被选走,能产生的影响为这两个区间的另一侧,注意初始化将非法区域设为0

#include<bits/stdc++.h>
using namespace std;
#define lowbit(x) ((x)&(-x))
typedef long long LL;
typedef pair<int,int> pii; int a[], b[], dp[][]; void run_case() {
int n; cin >> n;
memset(dp, , sizeof(dp));
for(int i = ; i <= n; ++i) cin >> a[i];
for(int i = ; i <= n; ++i) cin >> b[i];
a[] = a[n+] = b[] = b[n+] = ;
for(int i = ; i <= n; ++i)
for(int j = i+; j <= n; ++j)
dp[i][j] = 0x3f3f3f3f;
for(int i = ; i <= n; ++i) dp[i][i] = a[i] + b[i-] + b[i+];
for(int i = n-; i >= ; --i) {
for(int j = i+; j <= n; ++j) {
for(int k = i; k <= j; ++k) {
dp[i][j] = min(dp[i][j], dp[i][k-]+dp[k+][j]+a[k]+b[i-]+b[j+]);
}
}
}
cout << dp[][n] << "\n";
} int main() {
ios::sync_with_stdio(false), cin.tie();
cout.flags(ios::fixed);cout.precision();
int t; cin >> t;
for(int i = ; i <= t; ++i) {
cout << "Case #" << i << ": ";
run_case();
}
//cout.flush();
return ;
}

Dire Wolf HDU - 5115的更多相关文章

  1. Dire Wolf HDU - 5115(区间dp)

    Dire Wolf Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others)Total ...

  2. HDU 5115 Dire Wolf 区间dp

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

  3. 动态规划(区间DP):HDU 5115 Dire Wolf

    Dire wolves, also known as Dark wolves, are extraordinarily large and powerful wolves. Many, if not ...

  4. hdu 5115 Dire Wolf(区间dp)

    Problem Description Dire wolves, also known as Dark wolves, are extraordinarily large and powerful w ...

  5. HDU - 5115 Dire Wolf (非原创)

    Dire wolves, also known as Dark wolves, are extraordinarily large and powerful wolves. Many, if not ...

  6. Dire Wolf(区间DP)

    Dire Wolf Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others)Total ...

  7. Dire Wolf——HDU5115(区间DP)

    题意 就是有一对狼,每个狼有初始的攻击力,并且还能给左右两边的狼提供攻击力加成,当冒险家杀死一头狼的时候他也会受到这个狼目前攻击力的伤害 实例解析 33 5 78 2 0 有三头狼,刚开始第二头狼给他 ...

  8. Dire Wolf——HDU5115

    Dire wolves, also known as Dark wolves, are extraordinarily large and powerful wolves. Many, if not ...

  9. Hdu OJ 5115 Dire Wolf (2014ACM/ICPC亚洲区北京站) (动态规划-区间dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5115 题目大意:前面有n头狼并列排成一排, 每一头狼都有两个属性--基础攻击力和buff加成, 每一头 ...

随机推荐

  1. 概率DP (大概是最入门的题了) lightoj 1248

    有一个骰子,n个面,问所有面都被摇出的期望. 转自**的博客,  因为概率是(n-k)/n  所以期望次数是1/(前面这个数) #include<cstdio> #include<a ...

  2. pyqt5 通过QLinearGradient 绘制取色板

    要绘制HSV取色板,一般通过绘制前景色和背景色的方式实现,先绘制前景,然后绘制背景,前景是HSV颜色空间,从左到右,背景是亮度,从上到下,xs和ys是鼠标的当前的位置. def graphicsVie ...

  3. Sql性能优化梳理

    前言 先简单梳理下Mysql的基本概念,然后分创建时和查询时这两个阶段的优化展开. 1.0 基本概念简述 1.1 逻辑架构 第一层:客户端通过连接服务,将要执行的sql指令传输过来 第二层:服务器解析 ...

  4. 读书小记--<如何阅读一本书 >

    目录 阅读的活力与艺术 基础阅读 检视阅读 分析阅读 主题阅读 阅读与心智成长   之前看到一位科大的博主,在考研期间看了很多书,同时也看了很多课外书籍,TA说希望能够陶冶自己的性情.看到这,我想起了 ...

  5. 【代码学习】PYTHON 私有化

    一.私有化 xx: 公有变量_x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问__xx:双前置下划线,避免与子类中的属性命名冲突,无 ...

  6. VS Code的git配置

    最近打算使用VS Code作为python的编辑器,这里记录一下VS Code中git的配置方法 因为vscode中git只是使用本地的git,所以本地必须先安装git才行. 1.git的安装 git ...

  7. websocket对象及方法

    # websocket对象及方法 1.websocket对象 以下 API 用于创建 WebSocket 对象. var Socket = new WebSocket(url, [protocol] ...

  8. 疫情下的在线上课方案:QQ直播+蓝墨云班课

    目录 疫情下的在线上课方案:QQ群视频(腾讯课堂)+蓝墨云班课 使用QQ进行直播 材料 QQ直播步骤 其他问题 使用蓝墨云班课加强学习效果 教材问题 我的直播-小学生硬笔书法基础 我的直播 - C程序 ...

  9. php自动读取文件夹下所有图片

    $path = 'xxxxx';///当前目录$handle = opendir($path); //当前目录while (false !== ($file = readdir($handle))) ...

  10. 对于javaScript中的alert和document.write()的执行顺序的记录

    代码: <script>//1----语句式的匿名函数创建以及调用 (function(name,age){ alert("name:"+name+",age ...