【HDU】2795 Billboard
1 #include<cstdio> 2 #define MAXN 200010 3 #define MIN(a,b) ((a)>(b)?(b):(a)) 4 #define MAX(a,b) ((a)>(b)?(a):(b)) 5 int w,tree[MAXN<<2]; 6 inline void PushUp(int rt) 7 { 8 tree[rt]=MAX(tree[rt<<1],tree[rt<<1|1]); 9 } 10 void Build(int L,int R,int rt) 11 { 12 if(L==R) 13 tree[rt]=w; 14 else 15 { 16 int mid=(L+R)>>1; 17 Build(L,mid,rt<<1); 18 Build(mid+1,R,rt<<1|1); 19 PushUp(rt); 20 } 21 } 22 int Query(int val,int L,int R,int rt) 23 { 24 if(L==R) 25 { 26 tree[rt]-=val; 27 return L; 28 } 29 else 30 { 31 int ans,mid=(L+R)>>1; 32 if(val<=tree[rt<<1]) 33 ans=Query(val,L,mid,rt<<1); 34 else 35 ans=Query(val,mid+1,R,rt<<1|1); 36 PushUp(rt); 37 return ans; 38 } 39 } 40 int main() 41 { 42 int h,i,x,n; 43 while(~scanf("%d%d%d",&h,&w,&n)) 44 { 45 h=MIN(h,n); 46 Build(1,h,1); 47 for(i=0;i<n;i++) 48 { 49 scanf("%d",&x); 50 if(tree[1]<x) 51 puts("-1"); 52 else 53 printf("%d\n",Query(x,1,h,1)); 54 } 55 } 56 return 0; 57 }
转载于:https://www.cnblogs.com/DrunBee/archive/2012/05/21/2511430.html
【HDU】2795 Billboard相关推荐
- 【HDU】3441 Rotation
题意:给出A和C(1<=A,C<=10^9),所有满足B * B * K + 1 = A * A, (K >= 0)的B,构成边长为B的正方形,等角度的围绕在一个小正方形的周围.用C ...
- 【HDU】1695 GCD
题意:x在[a,b]内,y在[c,d]内,求GCD(x,y)=k的个数,题目保证a=c=1. 由于GCD(x,y)=k,则GCD(x/k,y/k)=1. 那么只要求x在[1,b/k]内,y在[1,d/ ...
- 【HDU】4942 Game on S♂play 线段树
传送门:[HDU]4942 Game on S♂play 题目分析:今天下午被这道题整死了,因为我的写法导致有的数可能变成负的,但是我们有察觉到,debug了一下午还是在吃饭的时候突然想到这个问题的. ...
- 【HDU】5238 Calculator 【中国剩余定理+线段树】
传送门:[HDU]5238 Calculator 题目分析: 模数可以拆成四个小素数:7,13,17,19. 这样我们可以分别对这几个素数跑答案,最后中国剩余定理搞一下就好.中间我们用线段树,保存每个 ...
- 【HDU】5197 DZY Loves Orzing 【FFT启发式合并】
传送门:[HDU]5197 DZY Loves Orzing 题目分析: 首先申明,我不会dpdp方程= =--这个东西给队友找出来了,然后我就是套这个方程做题的Qrz-- 对于这题,因为n2n^2个 ...
- 【HDU】1535 Invitation Cards 最短路
传送门:[HDU]1535 Invitation Cards 题目分析:题目真难读......其实题目的意思就是让求从编号为1的点到其他所有点的最短路距离之和加上其他所有点到编号为1的点的最短路距离之 ...
- 【HDU】4411 Arrest 费用流
传送门:[HDU]4411 Arrest 题目分析:题目的意思一开始没看懂= =...题意大致为:派出至多K个警队遵守先灭小的再灭老的的原则将N个城市的帮派全端了(要灭编号大的必须要先灭编号小的).且 ...
- 【HDU】3271 SNIBB 数位DP
传送门:[HDU]3271 SNIBB 题目分析:第一问直接求,第二问就二分.水题. 代码如下: #include <cmath> #include <cstdio> #inc ...
- 【HDU】5370 Tree Maker 【树dp】
传送门:[HDU]5370 Tree Maker my code:my~~code: #include <bits/stdc++.h> using namespace std ;type ...
最新文章
- 聚焦联机交易分析一体化,巨杉数据库湖仓一体云产品全线升级
- H.264NLU和RTSP协议理解
- 浅谈 LiveData 的通知机制
- 修改手机屏幕刷新率_到底高刷新率屏幕为智能手机带来什么?
- (0094)iOS开发之本地文件预览的三种方法(2)
- matlab 图像平滑的算法_图像相似度---灰度分布算法---用matlab实现
- Acdream1157---Segments (CDQ分治)
- 对Java初学者来说,到底Java有哪些高效的开源库?
- ecshop 前台个人中心修改侧边栏 和 侧边栏显示不全 或 导航现实不全
- debian添加删除用户
- 力扣——204. 计数质数
- Linux kmalloc/kfree 源码解读
- 前缀和(树状数组)构造桶数组的用法
- [译转]深入理解LayoutInflater.inflate()
- Hot Swap failed:add method not implemented
- BIGWORLD问题集
- Endnote使用——参考文献的插入及引用
- android11 root、android10 root、android9 root、android8.1 root、android6.0 root user版本权限开放
- 浏览器显示“您与此网站之间建立的连接不安全”的解决方案
- 车载测试常见关心问题解答