bzoj 3156: 防御准备(斜率DP)
3156: 防御准备
Time Limit: 10 Sec Memory Limit: 512 MB
Submit: 2148 Solved: 912
[Submit][Status][Discuss]
Description
Input
第一行为一个整数N表示战线的总长度。
第二行N个整数,第i个整数表示在位置i放置守卫塔的花费Ai。
Output
共一个整数,表示最小的战线花费值。
Sample Input
Sample Output
和http://blog.csdn.net/jaihk662/article/details/78434514一模一样
就是相当于b[]全为1
#include<stdio.h>
#include<algorithm>
using namespace std;
#define LL long long
LL a[1000005], b[1000005], dp[1000005], st[1000005];
double Jud(int j, int k)
{return 1.0*(dp[j]-dp[k])/(k-j);
}
int main(void)
{LL i, n, ans, bet, l, r;scanf("%lld", &n);for(i=1;i<=n;i++)scanf("%lld", &a[i]);ans = a[n];for(i=1;i<=n;i++)ans += n-i;l = 1, r = 1;st[1] = n;bet = 0;for(i=n-1;i>=1;i--){while(r>l && Jud(st[l], st[l+1])>i)l++;dp[i] = dp[st[l]]+i*(st[l]-i)-a[i];bet = max(bet, dp[i]);while(r>l && Jud(st[r], i)>Jud(st[r-1], st[r]))r--;st[++r] = i;}printf("%lld\n", ans-bet);return 0;
}
bzoj 3156: 防御准备(斜率DP)相关推荐
- BZOJ 3156: 防御准备( dp + 斜率优化 )
dp(i)表示处理完[i,n]且i是放守卫塔的最小费用. dp(i) = min{dp(j) + (j-i)(j-i-1)/2}+costi(i<j≤N) 然后斜率优化 ------------ ...
- bzoj 3156: 防御准备
这个题2333,有一个情况就是从一个点i一直山底的,直接计算出答案,一个是到山顶的,用斜率优化来算,最后答案是两个加起来(可能会说反) 最后,本蒟蒻来BB一下对斜率优化的理解吧. 其实就是无脑的写一个 ...
- bzoj 3437: 小P的牧场(斜率DP)
3437: 小P的牧场 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1493 Solved: 830 [Submit][Status][Disc ...
- BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化)
BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化) 1 #include<algorithm> 2 #include<iostream> 3 #include ...
- BZOJ 3329 Xorequ (数位DP、矩阵乘法)
BZOJ 3329 Xorequ (数位DP.矩阵乘法) 手动博客搬家: 本文发表于20181105 23:18:54, 原地址https://blog.csdn.net/suncongbo/arti ...
- hdu 3480 斜率dp
思路:很普通的斜率dp #include<cstdio> #include<cstring> #include<iostream> #include<algo ...
- HDU 3669 Cross the Wall(斜率DP+预处理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3669 题目大意:有n(n<=50000)个矩形,每个矩形都有高和宽,你可以在墙上最多挖k个洞使得 ...
- bzoj 1010: [HNOI2008]玩具装箱toy(斜率dp)
1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec Memory Limit: 162 MB Submit: 10837 Solved: 4513 [Submit] ...
- bzoj 1096: [ZJOI2007]仓库建设(斜率DP)
1096: [ZJOI2007]仓库建设 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 5232 Solved: 2324 [Submit][St ...
最新文章
- 初学MyBatis-Plus
- R语言入门——ggplot2
- 边缘链接 matlab,matlab-“简单”边缘-线-检测
- 从构建分布式秒杀系统聊聊验证码
- mysql查看隔离模式_InnoDB 隔离模式对 MySQL 性能的影响
- 信息熵和交叉熵的细节理解
- Bootstrap框架系列 - 初识
- Spring MVC:表单处理卷。 4 –单选按钮
- 用java写的教职工信息管理系统_基于Java的教师信息管理系统的设计与实现论文.doc...
- php聊天室技术,PHP聊天室技术
- 使用nfs映射远程服务器磁盘目录
- 二维数组的最大联通子数组和
- 强悍的 linux —— sed 与 awk
- shopnc框架数据库查询限制30条记录
- PHP学习笔记之PDO
- Linux学习笔记(8)文件搜索与帮助(find)
- 车载芯片分类、用途、供应商
- JS 解决IE浏览器出现Automation 服务器不能创建对象
- 【配准】2020年“基于深度学习的医学影像配准”期刊论文速览(PR,TMI,MIA)
- Tapestry学习4