原题地址:https://www.luogu.org/problemnew/show/P1901

题目简述

有 N 个能量发射站排成一行,每个都有不相同的高度 \(H_i\),能向两边(当然两端的只能向一边)同时发射能量值为\(V_i\) 的能量,并且发出的能量只被两边最近的且比它高的发射站接收。

显然,每个发射站发来的能量有可能被0或1或2个其他发射站所接受,求接收最多能量的发射站接收的能量是多少。


思路

每个能量塔射出的能量被左右第一个比其高的塔所拦截。隐隐约约觉得可以用单调栈搞……
维护一个高度单调不升栈,考虑依次将能量塔i加入栈:

  1. 如果高度比栈顶元素大或栈空,栈顶元素能量加上\(V_i\),压入栈;
  2. 如果高度比栈顶元素小(栈顶元素编号记为top),当前能量塔i接收的能量加上\(V_{top}\),弹出栈顶元素。重复执行直到符合情况1,按1的处理方法处理。
    最后直接扫描一遍最大值,输出。

代码

#include <bits/stdc++.h>
using namespace std;
int s1[1000010],h[1000010],v[1000010],sum[1000010],ans,n,top;
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++) {scanf("%d%d",&h[i],&v[i]);while(top&&h[s1[top]]<h[i])sum[i]+=v[s1[top]],top--;sum[s1[top]]+=v[i];top++;s1[top]=i;}for(int i=1;i<=n;i++)ans=max(ans,sum[i]);printf("%d",ans);return 0;
}

转载于:https://www.cnblogs.com/yyy2015c01/p/9718019.html

洛谷:P1901 发射站相关推荐

  1. 洛谷P1901 发射站

    P1901 发射站 245通过 468提交 题目提供者该用户不存在 标签NOI导刊云端↑ 难度普及/提高- 时空限制1s / 128MB 提交  讨论  题解 最新讨论更多讨论 大神路过的看一下 输入 ...

  2. 洛谷 p4174 [noi2006] 最大获利 最小割(最大流),最大权闭合子图

    题目 题解 题目 洛谷 p4174 建站花费p[i]元,如果a,b两个站都建起来了获利c元,问最大的获利. 题解 首先需要理解最大流求最大权闭合子图,这个我也不说了,又是转载博客. https://b ...

  3. (洛谷入门系列,适合洛谷新用户)洛谷功能全解

    目录 前注 前言 第一章 进入方式 1.1 基础操作 1.2 两步验证 1.3 安全邮箱和安全手机 第二章 侧栏与主界面介绍 2.1 蓝底白色洛谷标志 2.2 "应用>>&quo ...

  4. 动态规划——洛谷_P1057传球游戏

    题目: 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏.游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球, ...

  5. 洛谷 - 试炼场(全部题目备份)

    整理的算法模板合集: ACM模板 目录 1.新手村 1 - 1 洛谷的第一个任务 1 - 2 顺序与分支 1 - 3 循环!循环!循环! 1 - 4 数组 1 - 5 简单字符串 1 - 6 过程函数 ...

  6. 洛谷P1091 合唱队形

    洛谷P1091 合唱队形 题目描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,-,K他 ...

  7. 【c++算法刷题笔记】——洛谷2

    1. 洛谷练习--P1579 哥德巴赫猜想(升级版) 题目描述: 现在请你编一个程序验证哥德巴赫猜想. 先给出一个奇数n,要求输出3个质数,这3个质数之和等于输入的奇数. 输入格式: 仅有一行,包含一 ...

  8. 洛谷找最小值c语言,洛谷 P1478 陶陶摘苹果(升级版) C语言实现

    原题地址:P1478 淘淘摘苹果(升级版)- 洛谷 题目描述 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果,这次她有一个a公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与NO ...

  9. java 旅行家的预算_洛谷 P1016 旅行家的预算 Java解法

    洛谷 P1016 旅行家的预算 Java解法 洛谷 P1016 旅行家的预算 Java解法 package com.two; import java.util.Scanner; public clas ...

最新文章

  1. android 比较两个list,比较两个List的内容是否相等
  2. SQL查询库、表,列等的一些操作
  3. 浏览网页需要登录的解决办法
  4. linux unix系统区别,Unix和Linux操作系统有什么区别?看这里!
  5. QT之在QML中使用C++类和对象的两种方式
  6. 新建和删除文件夹js代码
  7. python变量名必须以什么开头_python变量为什么不能以数字开头
  8. (87)FPGA面试题-同步FIFO与异步FIFO区别?异步FIFO代码设计
  9. (6)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- AOP框架
  10. Q-Learning算法学习
  11. java 彻底删除文件_如何删除java文件
  12. 推荐一个app,收纳杭州最全登山地图!附亲测过的亲子徒步路线推荐
  13. xnb转png_xnb exporter插件下载
  14. 微信小程序--萌系登陆界面
  15. Linux使用命令行工具管理用户和组
  16. git commit 提交信息写错,怎么更改?
  17. 有关“安装程序启动安装引擎失败:不支持此接口”错误的解决方法
  18. Java简史-SUN
  19. 联想小新310电脑Fn功能键切换
  20. 自动上色论文《Deep Exemplar-based Colorization》(2)

热门文章

  1. 通配符 泛域名 linux,openssl签署自己的泛域名(通配符)证书
  2. java二级考试简单应用题,计算机二级考试Java语言模拟考试(2)
  3. 交管12123显示当前环境存在风险_政策|取消驾驶证年龄上限、推行异地通办,12项交管新政来了...
  4. mysql pos点是什么,MySQL 5.6 主从报错一例
  5. 优质的网站结构设计有哪些好处?
  6. 网站常规基本优化工作有哪些?
  7. spss数据预处理步骤_数学建模准备必备的十个数据分析软件(数学建模从入门到精通)...
  8. phython在file同时写入两个_喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了
  9. 前置机上如何地址转换_canvas原生层级较高,遮盖自定义tabbar,转换为图片解决...
  10. Java I/O在Android中应用(一)