poj 2828 线段树
来源:互联网 发布:yy网络用语什么意思 编辑:程序博客网 时间:2024/05/24 05:43
表示很有鸭梨~~~~~
题意清楚,应该倒着遍历~~:
参考了别人的代码,并没有完全看懂:
先留着待解决:
#include <iostream>
#define N 800000
using namespace std;
struct node
{
int maxn,l,r;
}st[N];
int h,w,n;
void build(int v,int l,int r)
{
st[v].l=l;
st[v].r=r;
st[v].maxn=w;
if(l==r)return;
int mid=(st[v].l+st[v].r)/2;
build(2*v,l,mid);
build(2*v+1,mid+1,r);
}
int find(int v,int d)
{
if(st[v].maxn<d)return -1;
if(st[v].l==st[v].r)
{
st[v].maxn=st[v].maxn-d;
return st[v].l;
}
int t=find(2*v,d);
if(t==-1)t=find(2*v+1,d);
if(t)
st[v].maxn=max(st[v*2].maxn,st[v*2+1].maxn);
return t;
}
int main()
{
while(scanf("%d%d%d",&h,&w,&n)!=EOF)
{
if(h>n)h=n+100;
build(1,1,h);
int temp;
for(int i=0;i<n;i++)
{
scanf("%d",&temp);
int s=find(1,temp);
printf("%d\n",s);
}
}
return 0;
}
- POJ 2828 (线段树)
- POJ 2828 线段树
- poj 2828 线段树
- poj 2828 (线段树)
- poj 2828 线段树
- poj 2828 线段树
- POJ 2828 线段树
- poj 2828 线段树
- poj 2828 线段树
- poj 2828 线段树
- POJ 2828 线段树
- POJ 2828 线段树
- POJ 2828 线段树 水题
- poj~2828(线段树)
- poj 2828(线段树)
- POJ--2828(线段树)
- POJ 2828 Buy Tickets(线段树)
- POJ 2828 Buy Tickets 线段树
- MySQL常用SQL语句
- spring 工作原理
- Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性
- uva10910 - Marks Distribution
- 正则表达式
- poj 2828 线段树
- JSP简单练习-省略显示长字符串
- Android开发之解析XML-SAX
- Humidex
- [菜鸟]phpMyadmin修改密码后异常,error1045
- Codeforces Round #FF (Div. 2)
- 制作initramfs根文件系统内核并用其启动最终文件系统
- D3.JS实例,旋转的色彩方块
- layouts简介