NOIP2012 借教室 D2 T2

原创 2016年08月30日 22:42:32

多么简单的二分题啊
我竟然没想怎么做…
二分+差分数组+求和
就水过了…

#include <cstdio>
#include <cstring>
int n,m,l=0,r,ans;
int a[1000001],cha[1000001],d[1000001][3];
bool check(int x)
{
    memset(cha,0,sizeof(cha));
    for(int i=1;i<=x;i++)
    {
        cha[d[i][1]]+=d[i][0];
        cha[d[i][2]+1]-=d[i][0];
    }
    int sum=0;
    for(int i=1;i<=n;i++)
    {
        sum+=cha[i];
        if(sum>a[i])
            return false;
    }
    return true;
}
int main()
{
    scanf("%d%d",&n,&m);
    r=m+1;
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    for(int i=1;i<=m;i++)
        scanf("%d%d%d",&d[i][0],&d[i][1],&d[i][2]);
    while(l<r-1)
    {
        int mid=((l+r)>>1);
        if(check(mid))
            l=mid;
        else
            r=mid;
    }
    if(l==m)
        printf("0");
    else
        printf("-1\n%d",r);
    return 0;
}

另外说一下
我莫名其妙地发明了一个左开右开的二分….
我一直当左闭右开用来着…

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

洛谷 P1083 [NOIP2012 D2T2] 借教室

二分

【线段树】ZKW线段树(noip2012D2T2)(选教室)

ZKW线段树,非递归写法,据说常数很小,其实早就想写一篇了,但是还没发现他能派上用场的题目,比如什么卡线段树的,今天恰好有一个noip2012D2T2,就顺便一起写了。这里就不挂题目了,直接看大意吧。...

NOIP2012 Day2 T2 借教室

碰到区间问题要想到差分。 此题一开始想成[1, n]二分,原因是读题不认真,题目要求按订单一个个顺序判断,只要有一个不符合就打回去,不用管后面的,所以是[1, m]满足单调性,故二分订单。#incl...

NOIP 2012 T2 借教室 前缀和思想

描述在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。 面对海量租借教室的信息,我们自然希望...
  • Lifel
  • Lifel
  • 2017年03月07日 11:19
  • 171

NOIP2012 疫情控制 D2 T3 真·详解''

天了噜 终于改出来了 我的逻辑漏洞好大啊 试了好几组数据突然发现自己好思博 记住 我的二分左开右开 记住 每次查找要初始需要初始的值 记住 递归的逻辑不能乱,否则会死的很惨 记住 ...

洛谷 [NOIP2012 D1T2] P1080 国王游戏

贪心+高精度

【NOIP2012提高组D2T3】【洛谷P1081】开车旅行

NOIP2012提高组 P1081 开车旅行 解法:倍增&set(平衡树) 题目描述: 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的城市在编号较大的城市...

NOIP2012 Day2 借教室-二分答案+差分

我 我 我 我怎么就想不起来二分答案呢… 老规矩先上原题http://codevs.cn/problem/1217/ 然后是我看的题解http://www.cnblogs.com/iwtwi...

NOIP2012复赛提高组day2(A:同余方程 B:借教室 C:疫情控制)

A题:这题在xiaoC大人的题库中仍旧有出现过 然而不知道为什么还是懵逼了好久 这题是扩展欧几里得。。 我们在这里给出扩展欧几里得的证明方法 本题即 求 ax+by=1的解 首先我们要清楚的...

Noip2012 D2T2聪明的质检员

Description 小 T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有n个矿石,从1到n逐一编号,每个矿石都有自己的重量wi以及价值vi。检验矿产的流程是: 1、给定m个区间[L...
  • klxwl
  • klxwl
  • 2016年10月24日 08:07
  • 140
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NOIP2012 借教室 D2 T2
举报原因:
原因补充:

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