传送门

题目大意:

n头牛,其中最高身高为h,给出r对关系(x,y)

表示x能看到y,当且仅当y>=x并且x和y中间的牛都比

他们矮的时候,求每头牛的最高身高.

题解:贪心+差分

将每头牛一开始都设为最高高度。

每一对关系(x,y),我们将[x+1,y-1]这个区间的身高变为

min(x,y)-1.这样是不对了。因为要维护[x+1,y-1]这个区间里

各个元素的大小关系,所以要将[x+1,y-1]的元素身高都减1.

一开始我是用线段树做的,后来发现题解用的差分。

没有询问的区间修改,差分做就好了。

代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define N 10009
using namespace std; int n,I,H,R; int C[N]; struct Q{
int l,r;
}f[N]; bool cmp(Q a,Q b){
if(a.l==b.l)return a.r<b.r;
return a.l<b.l;
} int main(){
scanf("%d%d%d%d",&n,&I,&H,&R);
for(int i=;i<=R;i++){
scanf("%d%d",&f[i].l,&f[i].r);
if(f[i].l>f[i].r)swap(f[i].l,f[i].r);//忘记交换了
}
sort(f+,f+R+,cmp);
for(int i=;i<=R;i++){
if(f[i].l==f[i-].l&&f[i].r==f[i-].r)continue;
C[f[i].l+]++;C[f[i].r]--;
}
for(int i=;i<=n;i++){
C[i]+=C[i-];
printf("%d\n",H-C[i]);
}
return ;
}

洛谷 P2879 [USACO07JAN]区间统计Tallest Cow的更多相关文章

  1. 洛谷P2879 [USACO07JAN]区间统计Tallest Cow

    To 洛谷.2879 区间统计 题目描述 FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. ...

  2. bzoj1635 / P2879 [USACO07JAN]区间统计Tallest Cow

    P2879 [USACO07JAN]区间统计Tallest Cow 差分 对于每个限制$(l,r)$,我们建立一个差分数组$a[i]$ 使$a[l+1]--,a[r]++$,表示$(l,r)$区间内的 ...

  3. [Luogu2879][USACO07JAN]区间统计Tallest Cow

    题目描述 FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a p ...

  4. 题解 P2879 【[USACO07JAN]区间统计Tallest Cow】

    题目链接: https://www.luogu.org/problemnew/show/P2879 思路: 先不管最大高度,我们读入一对x,y.说明,x+1~y-1之间牛的身高都小于x,y. 然后不妨 ...

  5. [USACO07JAN]区间统计Tallest Cow

    前缀和 sum[i]表示前i个数的和 每次读入a[i]的时候 sum[i] = sum[i - 1] + a[i]; 查询l ~ r区间的和: sum[r] - sum[l - 1] 差分 即前缀和的 ...

  6. [Luogu] 区间统计Tallest Cow

    https://www.luogu.org/problemnew/show/P2879 差分 | 线段树 #include <iostream> #include <cstdio&g ...

  7. 洛谷P1712 [NOI2016]区间 尺取法+线段树+离散化

    洛谷P1712 [NOI2016]区间 noi2016第一题(大概是签到题吧,可我还是不会) 链接在这里 题面可以看链接: 先看题意 这么大的l,r,先来个离散化 很容易,我们可以想到一个结论 假设一 ...

  8. 洛谷 1063 dp 区间dp

    洛谷 1063 dp 区间dp 感觉做完这道提高组T1的题之后,受到了深深的碾压,,最近各种不在状态.. 初看这道题,不难发现它具有区间可并性,即(i, j)的最大值可以由(i, k) 与 (k+1, ...

  9. BZOJ5259/洛谷P4747: [Cerc2017]区间

    BZOJ5259/洛谷P4747: [Cerc2017]区间 2019.8.5 [HZOI]NOIP模拟测试13 C.优美序列 思维好题,然而当成NOIP模拟题↑真的好吗... 洛谷和BZOJ都有,就 ...

随机推荐

  1. vue2.0过度动画

    vue在插入.更新或移除dom时,提供了多种不同方式的应用过度效果. 包括以下工具: 在css过渡和动画中自动应用class. 可以配合使用第三方css动画库,如animate.css 在过渡钩子函数 ...

  2. Python 之 matplotlib (十六)Animation动画【转】

    本文转载自:https://blog.csdn.net/wangsiji_buaa/article/details/80057875 代码:   import matplotlib.pyplot as ...

  3. MySQL主备复制原理、实现及异常处理

    复制概述 MySQL支持三种复制方式:基于行(Row)的复制.基于语句(Statement)的复制和混合类型(Mixed)的复制. 基于语句的复制早在3.23版本中就存在,而基于行的复制方式在5.1版 ...

  4. Oracle imp 导入数据出现 ORA-12560

    错误如下: D:\software\xfwebdb2015-05-11\autobackup>imp Import: Release 10.2.0.1.0 - Production on 星期三 ...

  5. 关于使用UniForm以其他控件为Parent时应该注意的问题

    关于使用UniForm以其他控件为Parent时应该注意的问题: 1,不能在其他组件的oncreate,onbeforeshow,onshow等事件中来生成这样的uniform,否则其上的组件不能显示 ...

  6. excel 拖拽计算时,固定一个数

    $ 表示静态引用(也叫绝对引用)的意思.即固定引用的单元格的行或列. $A1即固定列为A,$A$2即固定引用为A列2行的单元格. A$3则只固定引用为第三行. 我们在使用excel拖拽计算时,常遇到这 ...

  7. Pandas IO工具

    Pandas I/O API是一套像pd.read_csv()一样返回Pandas对象的顶级读取器函数. 读取文本文件(或平面文件)的两个主要功能是read_csv()和read_table().它们 ...

  8. NiceFish的ERROR in AppModule is not an NgModule问题

    大漠老师的angular2新手教程项目,nicefish刚开始下下来运行ng serve --prod --aot 是 出现ERROR in AppModule is not an NgModule ...

  9. 图片加载之Picasso使用

    简介 Picasso是Square公司开源的一个Android图形缓存库,可以实现图片下载和缓存功能. 主要有以下一些特性: 在Adapter中回收和取消已经不在视野范围图片资源的加载,防止可能出现的 ...

  10. MyBatis学习(3)

    MyBatis-逆向工程 Mybatis工作原理 一个MapperStatement代表一个封装改查标签的详细信息. Configuration对象保存了所有配置文件的详细信息. 总结:把配置文件的信 ...