hdu 2795 Billboard(线段树)

D类功放LC滤波器实战:从Q值0.707到EMI优化的完整设计流程 本文详细解析了D类功放LC滤波器的完整设计流程,从确定截止频率与Q值0.707的理论基础出发,到参数计算、仿真验证及关键元器件选型,并提供了应对EMI超标和过流保护等实际问题的进阶调试策略。文章强调,精准的LC滤波器设计是平衡音质、稳定性与电磁兼容性的关键,尤其需关注电感饱和电流与电容直流偏置等细节。 阅读详情

Billboard

Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4292 Accepted Submission(s): 2003


Problem Description
At the entrance to the university, there is a huge rectangular billboard of size h*w (h is its height and w is its width). The board is the place where all possible announcements are posted: nearest programming competitions, changes in the dining room menu, and other important information.

On September 1, the billboard was empty. One by one, the announcements started being put on the billboard.

Each announcement is a stripe of paper of unit height. More specifically, the i-th announcement is a rectangle of size 1 * wi.

When someone puts a new announcement on the billboard, she would always choose the topmost possible position for the announcement. Among all possible topmost positions she would always choose the leftmost one.

If there is no valid location for a new announcement, it is not put on the billboard (that's why some programming contests have no participants from this university).

Given the sizes of the billboard and the announcements, your task is to find the numbers of rows in which the announcements are placed.

Input
There are multiple cases (no more than 40 cases).

The first line of the input file contains three integer numbers, h, w, and n (1 <= h,w <= 10^9; 1 <= n <= 200,000) - the dimensions of the billboard and the number of announcements.

Each of the next n lines contains an integer number wi (1 <= wi <= 10^9) - the width of i-th announcement.

Output
For each announcement (in the order they are given in the input file) output one number - the number of the row in which this announcement is placed. Rows are numbered from 1 to h, starting with the top row. If an announcement can't be put on the billboard, output "-1" for this announcement.

Sample Input
  
3 5 5 2 4 3 3 3

Sample Output
  
1 2 1 3 -1

Author
hhanger@zju

Source

Recommend
lcy
当h>n时只需要开n大小的线段树即可
 
 
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define N 200100
using namespace std;
class node
{
  public:
  int l,r,ma;
}root[4*N];
int n,q;
int M;
void build(int t,int l,int r,int m)
{
  root[t].l=l;root[t].r=r;
  if(root[t].l==root[t].r)root[t].ma=m;
  else
  {
    build(t<<1,l,(l+r)/2,m);build(t<<1|1,(l+r)/2+1,r,m);
    root[t].ma=max(root[t<<1].ma,root[t<<1|1].ma);
  }
}
void update(int t,int pos)
{
  int s;
  if(root[t].l==root[t].r&&root[t].ma>=pos){M=root[t].l;root[t].ma-=pos;return;}
  if(root[t].ma<pos){return;}
  else
  {
    if(root[t<<1].ma>=pos)update(t<<1,pos);
    else update(t<<1|1,pos);
    root[t].ma=max(root[t<<1].ma,root[t<<1|1].ma);
  }
}
int main()
{
  int m,a;
  while(scanf("%d%d%d",&n,&m,&q)!=EOF)
  {
    if(n>N)
    n=N-10;
    build(1,1,n,m);
    for(int i=0;i<q;i++)
    {
      M=-1;
      scanf("%d",&a);
      update(1,a);
      printf("%d\n",M);
    }
  }
}

BF8815A 了解ADBMS1818芯片的人会发现,这款BF8815B和1818有着很多相似的东西,当你了解其中一款AFE之后,另一款你的上手也会特别快,下面文章是我针对1818梳理的一些重要知识点,此篇文章主要讲解BF8815B的一些差异点。 阅读详情

相关推荐

CANoe软件之离线报文回放与分析实战

本文详细介绍了如何使用CANoe软件进行离线报文回放与分析,帮助工程师将现场故障数据转化为可反复研究的实验室资源。通过实战步骤,指导如何搭建分析工程、加载DBC文件解码信号,并利用Trace和Graphics窗口进行深度数据筛选与图形化分析,从而高效定位汽车电子故障,是提升诊断效率的关键技能。

weixin_29227585的博客 529

hdu 2795(线段树的应用)

hdu 2795 (1)思路: 每个格子的宽度都已经确定,所以一开始默认已知所有的格子,建立线段树, 单点更新区间值>=x位置的点,因为线段树的结构类似二叉树,所以可以将线段树看做一个类二叉树, 每次x先找左区间(先找下标小的区间),否则找右的区间,递归缩小区间,最终修改最接近x且最靠前的 点的值。 (2)注意:这里的h很大,但是最多需要n个格子,考虑最坏的情况,n个...

积少成多,水滴石穿 357

达芬奇Pro开发板硬件验证全流程指南

FPGA开发板硬件验证是嵌入式系统可靠性的基石,其核心在于理解SoC启动时序、IO资源映射与高速接口物理层约束。基于Xilinx Zynq-7000异构架构的开发平台,需围绕电源完整性、时钟稳定性、信号完整性及软硬协同启动链路展开分层测试。技术价值体现在规避量产失效率、支撑高可靠工业控制与实时图像处理等场景。典型应用涵盖千兆以太网通信验证、DVP摄像头与RGB LCD显示链路调试、以及SFP+光纤接口PRBS误码率测试。本文聚焦达芬奇Pro系列开发板,深入解析JTAG下载、QSPI Flash重烧录、RGM

weixin_42453228的博客 122

【HDU 2795】 Billboard 线段树 区间最值 详解

Problem Description At the entrance to the university, there is a huge rectangular billboard of size h*w (h is its height and w is its width). The board is the place where all possible announcements a...

待到山花烂漫时 502

磁栅尺的基本原理

一、磁栅尺简介 磁栅尺(Magnetic scale)是一种常见于工业自动化设备领域的线性位移测量方案,因为其耐用性强,对环境要求不高,逐渐替代了对环境要求苛刻的光学直线测量方案。 作为自动化设备领域里不多见的精密位移检测方案,磁栅尺使用广泛,尤其适用于检测行程长、测量精度要求高、工况复杂的大型机床。磁栅尺安装方便,抗干扰能力强,抗冲击性强,不易受到振动、粉尘、水垢、油污等影响,耐高温和耐低温性能也较为突出。 二、磁栅尺基本组成与原理 磁栅尺主要由两个部分组成,磁尺和读磁头。 磁尺 磁尺是磁栅尺

Luckboy_shy的博客 1万+

Qt Installer Framework4.6.1的最基础使用1(win10+离线安装包 )

因工作需要,win程序发布后,打包成一可执行exe文件,且兼容win7系统笔者记录了一些关键要点,供有需要的小伙伴使用。

aggs1990的专栏 904

【HDU - 2795 Billboard】 线段树

E - Billboard   At the entrance to the university, there is a huge rectangular billboard of size h*w (h is its height and w is its width). The board is the place where all possible annou

于心有愧丶 390

k8s配置habor作为镜像地址之后,如果harbor中没有镜像,如何设置自动从阿里云官方镜像仓库下载

通过 Harbor 的远端仓库可以集中管理。如果你在上游设置了 image prefix 为 library,那么对外访问 harbor.your-domain.com/library/nginx:latest 就会被 Harbor 去上游拉取 registry.cn-hangzhou.aliyuncs.com/library/nginx:latest 并缓存。- 将集群中的镜像地址改为 Harbor 的域名,比如 harbor.your-domain.com/library/nginx:latest。

极客栈 423

HDU2795(看似不是线段树的线段树)(一)

没有用线段树的超时代码 用了线段树的AC代码题目链接:hdu2795这道题数据量太大,要是一般的暴力简单遍历,结果是 Time Limit Exceeded(我试过)。由于10910^9太大了,无法用定义长度为h(广告牌的高)的数组,于是看了看输入,只有200000组数据,就是说最多放200000行公告,于是可以把200000作为数组长度。没有用线段树的超时代码 没有用线段树代码,超时 /***

youcanyouup 591

uniapp [全端兼容] - 实现接入集成高德地图搜索地址及选择位置功能,搜索框检索选择地点并返回经纬度及详细省市区县街道地址,用户搜索历史及清空历史记录,选择地址自动获取周边位置列表/地图移动选点

uni-app,高德地图,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,Uniapp高德地图,在地图上选择或搜索指定地点,打开地图选择位置,关联地址搜索,输入地址返回附近地址列表,uniApp高德地图地址搜索,搜索框历史记录,关键字搜索,周边查询,搜索位置,uniapp对接高德实现搜索出现地址以及保存搜索记录,集成高德地图,实现精准位置选点功能,获取当前定位城市,如何实现搜索功能,获取省份城市区街道详细地址经纬度,移动选点标记位置,在地图上进行选择位置选点、搜索

🏆 前端领域优质创作者 1万+

【异常】OpenClaw网关仪表盘 pairing required 报错排查与解决方案

在OpenClaw网关仪表盘页面,完成WebSocket URL、网关令牌等必填项配置后,点击「连接」按钮尝试建立网关连接时,页面下方出现红色报错提示框,核心报错内容为,无法完成网关连接建立,且该报错在令牌配置正确、网络链路通畅的场景下仍会触发。该报错常见于非本地回环地址的访问场景,包括局域网远程访问、公网域名/IP访问、云服务器部署的网关远程管理等场景,本地127.0.0.1回环地址访问通常可正常连接。

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

HDU2795 Billboard 线段树 单点更新

Problem DescriptionAt the entrance to the university, there is a huge rectangular billboard of size h*w (h is its height and w is its width). The board is the place where all possible announcements are

Bill_Utada的成长之路 1503

【WiFi】T830 MT7992 WMM测试修改操作说明

WiFi WMM(Wi-Fi Multimedia)是Wi-Fi联盟推出的一项技术,用于优化无线网络中的多媒体内容传输。WMM通过优先处理不同类型的数据流来改善网络性能,特别是在网络拥堵时。:WMM通过提供服务质量支持,确保语音、视频和其他多媒体应用在无线网络中获得优先处理。这有助于减少延迟和抖动,改善用户体验。:WMM将数据流分为四个优先级队列:语音、视频、最佳效果(Best Effort)和背景(Background)。语音和视频流通常被赋予更高的优先级,以确保它们在网络中得到及时传输。

wgl307293845的博客 1018

[HDU 2795]Billboard[线段树]

题目链接:[HDU 2795]Billboard[线段树] 题意分析: 有一个高度为h,宽度为w的广告板,给出n个海报,每个海报高度1,宽度x。问能否贴到广告板上,能输出贴到的行,否则输出-1。每张海报必须贴到能贴部分的最左上角。 解题思路: 用线段树区间存:区间中还能贴的最大宽度;每次查询整个区间,满足就继续,否则返回,当l == r时说明查询到了最满足的行,然后进行更新。 个人感受:

闲停 457

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

HDU2795—Billboard 线段树

HDU2795—Billboard 在学校的入口处有一个巨大的矩形广告牌,高为h,宽为w。所有种类的广告都可以贴,比如ACM的广告啊,还有餐厅新出了哪些好吃的,等等。。   在9月1号这天,广告牌是空的,之后广告会被一条一条的依次贴上去。   每张广告都是高度为1宽度为wi的细长的矩形纸条。   贴广告的人总是会优先选择最上面的位置来帖,而且在所有最上面的可能位置中,他会选择最左面的位置,而且不能...

GYH0730的博客 399

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

hdu 2795 Billboard ( 线段树 )

http://acm.hdu.edu.cn/showproblem.php?pid=2795 Billboard Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7320 Accepted Submission(s)...

diansitao5461的博客 161

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

HDU 2795 Billboard (线段树+贪心)

HDU 2795 Billboard (线段树+贪心) 手动博客搬家:本文发表于20170822 21:30:17, 原地址https://blog.youkuaiyun.com/suncongbo/article/details/77488127 URL: http://acm.hdu.edu.cn/showproblem.php?pid=2795题目大意:有一个h*w的木板...

suncongbo's blog 179

HDU-Billboard-2795(线段树)

hdu2795 Billboard Time Limit: 20000/8000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 14101Accepted Submission(s): 6046 Problem Description At...

110

hdu 2795 Billboard 题解 (线段树)

原题链接: hdu 题意简述 有一个h∗wh*wh∗w的板子,和nnn条广告。每条广告的高度都是111,给定宽度。nnn条广告会被依次放到这个板子上,对于每条广告,会找到最上面的一行去放。在这最上面的一行里,又会找最左边的位置放。给定nnn个宽度,请输出nnn行,表示每个广告会被放在第几行。如果这个广告没有合适的位置放置,输出−1-1−1。 输入 多组数据。对于每组: h w n //如上所示 w...

LightningUZ的博客 351

【解题报告】 HDU 2795 Billboard -- 线段树的应用

题目大意:有一个广告板,告诉我们尺寸(即高度宽度),我们要贴广告,广告的尺寸规定为1*w,我们每次从最左上面开始贴,当给出的广告不够贴时,移到下一行贴。输出当前广告贴在第几行。 题目连接:->  HDU 2795 思路大意:拿高度来当"线段"进行拆分,每次更新一下贴完之后所剩余的长度,并顺便输出所在行即可。 接下来计算一下充当 线段树的数组 的宽度: 这个题目中广告版的高度范围比较大,1

生命有一种绝对 1186

HDU 2795 Billboard(线段树)

题目链接:HDU 2795 Billboard 【题意】给你一张

RaynX的专栏 584

HDU 2795 Billboard // 线段树 单点更新

题目描述HDU 2795 Billboard解题思路题目大意: 有一张h×w的矩形告示栏, 和 n 张 1×wi 的海报 海报每次张贴的位置为告示栏剩余位置的左上角. 要求支持下列操作: 1) 对于每张海报 输出其在告示栏的第几行 (若放不下, 则输出 -1)首先我们知道的是 告示栏上的海报最多只有n张, 即告示栏的行数最多只有n行有效 所以当输入的h大于n时, 令h = n 即可.

FZU_zyt的专栏_(:з」∠)_ 380

hdu 2795 Billboard 线段树 点更新

// hdu 2795 Billboard 线段树 点更新 // // 首先n最多是200000种,也就是说最多200000行, // 我们的线段树的区间保存的是L到R中最大的叶子节点的值 // 初始情况下都是板子的宽度。这样,每次放一块广告的时候 // 看1到h中最左边的叶子区间是什么就ok了,还是很好理解的 // // 做题的感悟,这道题其实是去年暑假集训的时候做的,当时 // 并不会,只会敲

TIMELIMITE的专栏 895

hdu 2795 Billboard -- 线段树

hdu 2795 Billboard 以h建立线段树维护最大值每个节点初始化最大值为w 对于每次改,从最左端开始找满足要求的位置 //#include<bits/stdc++.h> #include<iostream> #include<vector> //#include <unordered_map> using namespace std; //template<class...Args> //void debug(Args... args)

weach的博客 219

HDU 2795 Billboard(线段树)

题目链接:HDU 2795 Billboard 线段树单点更新,

fobdddf的专栏 562

HDU 2795 Billboard(线段树,单点查询)

题目链接: HDU 2795 Billboard 题意: 有个高为h宽为w的墙用于贴宣传海报,每张海报高为1,宽为wi,每张海报在能张贴的情况下优先选择最上面的最左面; 共有n张海报,问贴每张海报所在的行,如果贴不下,就输出-1. 分析; 建立区间为[1,h]的线段树,叶子结点即表示相应层。线段树中存储当前所有层中的最大剩余长度, 查询和更新操作其实放在一起了。 玩玩没想到的是,题目

ramay7 388
上一篇: USCAO section Mother's Milk(搜索)
下一篇: poj 3468 A Simple Problem with Integers(线段树)
剑不飞
博客等级 码龄15年 86粉丝 505原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值