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

10
2 3 1 5 4 5 6 3 1 2

Sample Output

18

和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)相关推荐

  1. BZOJ 3156: 防御准备( dp + 斜率优化 )

    dp(i)表示处理完[i,n]且i是放守卫塔的最小费用. dp(i) = min{dp(j) + (j-i)(j-i-1)/2}+costi(i<j≤N) 然后斜率优化 ------------ ...

  2. bzoj 3156: 防御准备

    这个题2333,有一个情况就是从一个点i一直山底的,直接计算出答案,一个是到山顶的,用斜率优化来算,最后答案是两个加起来(可能会说反) 最后,本蒟蒻来BB一下对斜率优化的理解吧. 其实就是无脑的写一个 ...

  3. bzoj 3437: 小P的牧场(斜率DP)

    3437: 小P的牧场 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1493  Solved: 830 [Submit][Status][Disc ...

  4. BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化)

    BZOJ - 2244 拦截导弹 (dp,CDQ分治+树状数组优化) 1 #include<algorithm> 2 #include<iostream> 3 #include ...

  5. BZOJ 3329 Xorequ (数位DP、矩阵乘法)

    BZOJ 3329 Xorequ (数位DP.矩阵乘法) 手动博客搬家: 本文发表于20181105 23:18:54, 原地址https://blog.csdn.net/suncongbo/arti ...

  6. hdu 3480 斜率dp

    思路:很普通的斜率dp #include<cstdio> #include<cstring> #include<iostream> #include<algo ...

  7. HDU 3669 Cross the Wall(斜率DP+预处理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3669 题目大意:有n(n<=50000)个矩形,每个矩形都有高和宽,你可以在墙上最多挖k个洞使得 ...

  8. bzoj 1010: [HNOI2008]玩具装箱toy(斜率dp)

    1010: [HNOI2008]玩具装箱toy Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 10837  Solved: 4513 [Submit] ...

  9. bzoj 1096: [ZJOI2007]仓库建设(斜率DP)

    1096: [ZJOI2007]仓库建设 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 5232  Solved: 2324 [Submit][St ...

最新文章

  1. 初学MyBatis-Plus
  2. R语言入门——ggplot2
  3. 边缘链接 matlab,matlab-“简单”边缘-线-检测
  4. 从构建分布式秒杀系统聊聊验证码
  5. mysql查看隔离模式_InnoDB 隔离模式对 MySQL 性能的影响
  6. 信息熵和交叉熵的细节理解
  7. Bootstrap框架系列 - 初识
  8. Spring MVC:表单处理卷。 4 –单选按钮
  9. 用java写的教职工信息管理系统_基于Java的教师信息管理系统的设计与实现论文.doc...
  10. php聊天室技术,PHP聊天室技术
  11. 使用nfs映射远程服务器磁盘目录
  12. 二维数组的最大联通子数组和
  13. 强悍的 linux —— sed 与 awk
  14. shopnc框架数据库查询限制30条记录
  15. PHP学习笔记之PDO
  16. Linux学习笔记(8)文件搜索与帮助(find)
  17. 车载芯片分类、用途、供应商
  18. JS 解决IE浏览器出现Automation 服务器不能创建对象
  19. 【配准】2020年“基于深度学习的医学影像配准”期刊论文速览(PR,TMI,MIA)
  20. Tapestry学习4

热门文章

  1. python编程入门第3版pdf-Python核心编程第3版PDF电子书免费下载
  2. python爬虫步骤-python爬虫步骤 (新手备学 )爬虫编程。
  3. python电脑配置-入门学python需要什么配置的电脑?
  4. Android基于讯飞语音SDK实现语音识别
  5. 语音识别技术突飞猛进
  6. vue + elementui 通过父子组件实现弹框
  7. Redis--五种基础数据结构及应用场景
  8. 【数论】蓝桥20:数列求值
  9. 蓝桥杯2014c++真题:扑克序列(next_permutation)
  10. LeetCode 300最长递增子序列