hdu~2795~线段树
来源:互联网 发布:蓝鸥unity3d培训多少钱 编辑:程序博客网 时间:2024/05/01 11:04
很简单的线段树,先将h缩小,然后记录每一行用过的长度,每次优先左边查找就OK了。
ACcode:
#include<stdio.h>#include<iostream>#define Min(a,b) a<b?a:b using namespace std;const int size=200000;int len[size<<2];int h,w,n,v,pos;void pushup(int rt){ len[rt]=Min(len[rt<<1],len[rt<<1|1]);}void update(int rt,int l,int r,int wd){ if ((len[rt]+wd)>w) return ; if (l==r) { len[rt]+=wd; pos=r; return ; } int mid=(l+r)>>1; if ((len[rt<<1]+wd)<=w) update(rt<<1,l,mid,wd); else update(rt<<1|1,mid+1,r,wd); pushup(rt); }int main(){ int i; while (scanf("%d %d %d",&h,&w,&n)!=EOF) { h=h<size?h:size; memset(len,0,sizeof(len)); for (i=1;i<=n;i++) { scanf("%d",&v); pos=-1,update(1,1,h,v); printf("%d\n",pos); } } return 0; }
- hdu 2795 线段树
- hdu~2795~线段树
- hdu 2795线段树
- hdu 2795 线段树
- HDU 2795 线段树
- hdu 2795 线段树
- hdu~2795(线段树)
- HDU 2795 线段树
- hdu 2795 线段树
- hdu 2795(线段树)
- hdu 2795(线段树)
- hdu 2795 线段树
- HDU 2795 线段树
- HDU 2795 线段树
- HDU 2795 Billboard线段树
- HDU 2795 Billboard 线段树
- Billboard HDU 2795 线段树
- HDU 2795 Billboard 线段树
- 黑莓9900 只能用WIFI登录qq 不能用手机网络登录qq
- oracle查询所有表名
- LeetCode: Minimum Window Substring
- 修改网页编码出现的问题
- android之使用get和post方式向服务器提交请求
- hdu~2795~线段树
- MyEclipse连接数据库异常解决
- XML(1)
- JavaScript 浏览器检测方法。。。
- iOS越狱开发之MobileSubstrate介绍
- Java中十六进制转换 Integer.toHexString()
- ecshop discuz 与帝国cms系统单点登录的整合
- liferay运行步骤(一)
- 逆波兰式