tjut 2795

原创 2016年08月29日 19:23:53
#include<iostream>  
#include<cstdio>  
#include<algorithm>  
using namespace std;  
  
#define L l,m,u<<1  
#define R m+1,r,u<<1|1  //u*2+1  
  
const int N=200000+10;  
int h,w,n;  
int a[N<<2];  
  
void build(int l,int r,int u)//u为根结点  
{  
    a[u]=w;  
    if(l==r)  
        return;  
    int m=(l+r)>>1;  
    build(L);  
    build(R);  
}  
  
int query(int x,int l,int r,int u)  
{  
    if(l==r)  
    {  
        a[u]-=x;  
        return l;  
    }  
    int m=(l+r)>>1;  
    int res=(a[u<<1]>=x)?query(x,L):query(x,R);  
    a[u]=max(a[u<<1],a[u<<1|1]);  
    return res;  
}  
  
int main()  
{  
    freopen("C:\\Users\\Administrator\\Desktop\\kd.txt","r",stdin);  
    while (~scanf("%d%d%d",&h,&w,&n))  
    {  
        if(h>n)  
            h=n;  
        build(1,h,1);  
        while(n--)  
        {  
            int x;  
            scanf("%d",&x);  
            if(a[1]<x)  
                printf("-1\n");  
            else  
                printf("%d\n",query(x,1,h,1));  
        }  
    }  
    return 0;  
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

tjut 2795

#include #include #include #include using namespace std; const int maxn=2e5+10; int c[ma...
  • luozhong11
  • luozhong11
  • 2016年08月02日 09:50
  • 63

hdu2795 Billboard(线段树)

Billboard Time Limit: 20000/8000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) To...
  • d_x_d
  • d_x_d
  • 2015年12月12日 21:27
  • 1523

HDU2795(Billboard)线段树

/************************************************* 题目大意: 有一块h*w的矩形广告板,要往上面贴广告; 然后给n个1*wi的广告,要求把广告贴上去...
  • Jarily
  • Jarily
  • 2013年03月02日 21:24
  • 3656

bzoj 2789: [Poi2012]Letters

2789: [Poi2012]Letters Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 297  Solved: 197 [Submit]...
  • clover_hxy
  • clover_hxy
  • 2016年05月03日 09:09
  • 351

bzoj 2795: [Poi2012]A Horrible Poem (hash+数论)

2795: [Poi2012]A Horrible Poem Time Limit: 50 Sec  Memory Limit: 128 MB Submit: 448  Solved: 219 ...
  • clover_hxy
  • clover_hxy
  • 2016年11月17日 16:30
  • 196

2795: [Poi2012]A Horrible Poem

2795: [Poi2012]A Horrible Poem Time Limit: 50 Sec  Memory Limit: 128 MB Submit: 469  Solved: 228 ...
  • CRZbulabula
  • CRZbulabula
  • 2017年01月02日 15:41
  • 262

HDU 2795

大概题意:  给你一个黑板。让你贴小广告,小广告要尽可能往上贴,又要尽可能往左贴。 这题的难点就在于他给的数据比较大= =无法直接暴力的用线段树做。。因为那样绝对会MLE的= = ...
  • u012896700
  • u012896700
  • 2013年11月27日 23:13
  • 336

hdu 2795

题意:给出一个广告板,然后要将n个广告贴在广告板上,然后要求每次贴广告的时候要越靠上越好,求每个广告贴的位置,找不到的话输出-1; 思路:以高 为线段构造线段树,然后上面的值为区间的能放的最大值,每...
  • xiaolonggezte
  • xiaolonggezte
  • 2017年05月10日 13:59
  • 79

HDU 2795

Billboard Time Limit : 20000/8000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) To...
  • u013097262
  • u013097262
  • 2015年04月16日 20:13
  • 255

tjut 3018

#include using namespace std; const int M = 100000 + 10; int gree[M]; int father[M]; int rank1[M]...
  • luozhong11
  • luozhong11
  • 2016年08月16日 09:27
  • 44
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tjut 2795
举报原因:
原因补充:

(最多只允许输入30个字)