HDU2795 Billboard

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2795

 

 

 1 #include<cstdio>
 2 #include<algorithm>
 3 using namespace std;
 4 #define lson l,m,rt<<1
 5 #define rson m+1,r,rt<<1|1
 6 const int maxn = 222222;
 7 int MAX[maxn << 2];
 8 int h, w, n;
 9 void pushup(int rt)
10 {
11     MAX[rt] = max(MAX[rt << 1], MAX[rt << 1 | 1]);
12 }
13 void build(int l, int r, int rt)
14 {
15     MAX[rt] = w;
16     if (l == r) return;
17     int m = (l + r) >> 1;
18     build(lson);
19     build(rson);
20 }
21 int query(int p, int l, int r, int rt)//这里由于query和update都是对单点操作,所以将两个函数合并为一个了
22 {
23     if (l == r){
24         MAX[rt] -= p;
25         return l;
26     }
27     int m = (l + r) >> 1;
28     int ret = (MAX[rt<<1] >= p ? query(p, lson) : query(p, rson));//这里判断左子节点是否还有相应的空间,若没有则递归右子节点。
29     pushup(rt);
30     return ret;
31 }
32 int main()
33 {
34     while (~scanf("%d%d%d", &h, &w, &n)){
35         if (h > n) h = n;//通知小于h时可以直接缩小h的范围
36         build(1, h, 1);
37         while(n--){
38             int p;
39             scanf("%d", &p);
40             if (MAX[1] < p) puts("-1");
41             else printf("%d\n",query(p, 1, h, 1));
42         }
43     }
44     return 0;
45 }

 

转载于:https://www.cnblogs.com/-Unc/p/4115969.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动计算尺寸列表功能案例ios源码

源码HTKDynamicResizingCell&#xff0c;HTKDynamicResizingCell提供自动计算尺寸的TableViewCell/CollectionViewCel&#xff0c;只要设置了合适AutoLayout的约束。<ignore_js_op> 使用方法&#xff1a;使用CocoaPods添加&#xff1a; pod HTKDynamicResizingCell, ~>…

mysql存储过程返回多个值_数据库mysql存储过程之返回多个值的方法示例

本文实例讲述了mysql存储过程之返回多个值的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;mysql存储函数只返回一个值。要开发返回多个值的存储过程&#xff0c;需要使用带有INOUT或OUT参数的存储过程。咱们先来看一个orders表它的结构&#xff1a;mysql> de…

休眠NONSTRICT_READ_WRITE CacheConcurrencyStrategy如何工作

介绍 在我以前的文章中 &#xff0c;我介绍了READ_ONLY CacheConcurrencyStrategy &#xff0c;这是不可变实体图的显而易见的选择。 当缓存的数据可变时&#xff0c;我们需要使用读写缓存策略&#xff0c;本文将介绍NONSTRICT_READ_WRITE二级缓存的工作方式。 内部运作 提交H…

mysql用大白话解释_Java基础--2021Java面试题系列教程--大白话解读

前言序言再高大上的框架&#xff0c;也需要扎实的基础才能玩转&#xff0c;高频面试问题更是基础中的高频实战要点。适合阅读人群Java 学习者和爱好者&#xff0c;有一定工作经验的技术人&#xff0c;准面试官等。阅读建议本教程是系列教程&#xff0c;包含 Java 基础&#xff…

Android开源之行之走进zxing,轻松实现二维码扫描(二)

对于Zxing开源项目的简化上文已给出&#xff0c;源码经过测试且不断修改。众所周知&#xff0c;Zxing项目的扫描是横向的&#xff0c;这么引用的用户体验确实不好&#xff1b;然而盲目的修改会出现拉伸以及样本采集的偏离。所以这里说一下如何将横屏修改为竖屏扫描 解决办法引用…

mdb批量导入mysql_快速将 access 用的 mdb 文件导入到 mysql 里

下载链接&#xff1a;http://www.bullzip.com/download/a2m/msa2mys_5_4_0_274.zipAccess To MySQLAccess to MySQL is a small program that will convert Microsoft Access Databases to MySQL.Wizard interface.Transfer data directly from one server to another.Create a…

动画

1.UIVIew 1.1 动画块(改变背景颜色和移动) static BOOL flagYES; //开始动画 [UIView beginAnimations:nil context:nil]; //运动的时间 [UIView setAnimationDuration:2.f]; //延时启动 [UIView setAnimationDelay:2.f]; //速度曲线 [UIView setAnimationCurve:UIViewAnima…

app engine_Google App Engine:在您自己的域中托管应用程序

app engine在Google App Engine中创建新应用程序时&#xff0c;您将获得一个域名“ yourapp.appspot.com”。 但是&#xff0c;谁会想要以这样的后缀托管他们的应用程序&#xff08;除非您喜欢它&#xff01;&#xff09;&#xff1f; 为了改善您的应用程序品牌&#xff0c;最好…

mysql二进制大文件_Mysql实例Mysql LONGTEXT 类型存储大文件(二进制也可以) (修改+调试+整理)...

《Mysql实例Mysql LONGTEXT 类型存储大文件(二进制也可以) (修改调试整理)》要点&#xff1a;本文介绍了Mysql实例Mysql LONGTEXT 类型存储大文件(二进制也可以) (修改调试整理)&#xff0c;希望对您有用。如果有疑问&#xff0c;可以联系我们。#include "stdafx.h"/…

bzoj2243 [SDOI2011]染色

Description 给定一棵有n个节点的无根树和m个操作&#xff0c;操作有2类&#xff1a; 1、将节点a到节点b路径上所有点都染成颜色c&#xff1b; 2、询问节点a到节点b路径上的颜色段数量&#xff08;连续相同颜色被认为是同一段&#xff09;&#xff0c;如“112221”由3段组成&am…

阿里云mysql创建多个用户_阿里云MySQL创建指定用户访问指定表

欢迎大家关注我的公众号&#xff0c;有问题可以及时和我交流。1.首先进入到root用户环境mysql -uroot -p输入自己的root密码登录。登录成功之后如果表之前已经存在的话就不需要创建&#xff0c;如果表不存在的话使用创建表命令创建。create database table&#xff1b;2.给用户…

自定义实现moveable button

实现的效果图&#xff1a; 自定义MVButton&#xff0c;继承自UIButton. 属性声明如下&#xff1a; property (nonatomic) CGPoint beginPoint; property (nonatomic) BOOL dragEnable;//自定义button对触摸事件进行响应- (void)touchesBegan:(NSSet *)touches withEvent:(UI…

jOOQ星期二:Vlad Mihalcea深入了解SQL和Hibernate

欢迎来到jOOQ Tuesdays系列。 在本系列中&#xff0c;我们每隔一个月的第三个星期二发布一篇文章&#xff0c;从jOOQ的角度采访我们发现该行业令人兴奋的人。 这包括从事SQL&#xff0c;Java&#xff0c;开放源代码以及其他各种相关主题的人员。 我们很高兴在第三版中与Vlad …

python编程序列类型_python序列类型种类详解

python序列类型包括哪三种python序列类型包括&#xff1a;列表、元组、字典列表&#xff1a;有序可变序列创建&#xff1a;userlist [1,2,3,4,5,6]修改&#xff1a;userlist[5] 999添加&#xff1a;userlist.append(777)删除&#xff1a;userlist.remove(4) 或者 del(userlis…

GitHub初次使用记录(一)

1、从GitHub上克隆或者复制别人的档案库&#xff1a; 克隆档案库时需要打开本地Git客户端&#xff08;比如GitHub for Windows 和 GitExtesnsion &#xff09;操作。 下面是用GitExtension克隆档案库&#xff1a; 转载于:https://www.cnblogs.com/lxf1117/p/4140048.html

mysql中逗号前的字符串_MySql逗号拼接字符串查询的两种方法

下面两个函数的使用和FIND_IN_SET一样,使用时只需要把FIND_IN_SET换成FIND_PART_IN_SET或FIND_ALL_PART_IN_SET例如某字段里是为1,2,3,4,5使用方法:第一种,传入1,3,6 可以查出来 select * from XXX where FIND_PART_IN_SET(1,3,6,1,2,3,4,5)第二种,传入1,3,6 查不出来 select *…

使用Maven,Jetty和Tomcat在嵌入式容器中运行Java Web应用程序

在开发Java Web应用程序时&#xff0c;从“真实”环境中获得快速反馈非常实用。 在本文中&#xff0c;我将探讨如何在嵌入式容器Jetty或Tomcat中运行带有Maven的Java Web应用程序。 在Podcastpedia.org网站的支持下&#xff0c;我将展示如何配置它们以开发podcastpedia项目。 …

Linux下查看文件和文件夹大小

当磁盘大小超过标准时会有报警提示&#xff0c;这时如果掌握df和du命令是非常明智的选择。 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点&#xff0c;但对文件却无能为力。 du可以查看文件及文件夹的大小。 两者配合使用&#xff0c;非常有效。比如用df查看哪个…

moosefs mysql_moosefs搭建与应用

moosefs搭建与应用MooseFS简介&#xff1a;MooseFS是一个具备冗余容错功能的分布式网络文件系统&#xff0c;它将数据分别存放在多个物理服务器单独磁盘或分区上&#xff0c;确保一份数据有多个备份副本。因此MooseFS是一中很好的分布式存储。接下来我们通过搭建moosefs&#x…

Audio Offload

Audio Offload 音频分载&#xff0c;是系统将音频分载到声卡硬件进行分载处理的功能。从Windows 8开始&#xff0c;音频的硬件加速和分载处理又回来了。为什么说又回来了呢&#xff1f; 因为声卡自创通公司发明开始&#xff0c;相当长一段时间都是由声卡独立完成所有音频处理的…