洛谷 P2879 [USACO07JAN]区间统计Tallest Cow
题目大意:
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的更多相关文章
- 洛谷P2879 [USACO07JAN]区间统计Tallest Cow
To 洛谷.2879 区间统计 题目描述 FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. ...
- bzoj1635 / P2879 [USACO07JAN]区间统计Tallest Cow
P2879 [USACO07JAN]区间统计Tallest Cow 差分 对于每个限制$(l,r)$,我们建立一个差分数组$a[i]$ 使$a[l+1]--,a[r]++$,表示$(l,r)$区间内的 ...
- [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 ...
- 题解 P2879 【[USACO07JAN]区间统计Tallest Cow】
题目链接: https://www.luogu.org/problemnew/show/P2879 思路: 先不管最大高度,我们读入一对x,y.说明,x+1~y-1之间牛的身高都小于x,y. 然后不妨 ...
- [USACO07JAN]区间统计Tallest Cow
前缀和 sum[i]表示前i个数的和 每次读入a[i]的时候 sum[i] = sum[i - 1] + a[i]; 查询l ~ r区间的和: sum[r] - sum[l - 1] 差分 即前缀和的 ...
- [Luogu] 区间统计Tallest Cow
https://www.luogu.org/problemnew/show/P2879 差分 | 线段树 #include <iostream> #include <cstdio&g ...
- 洛谷P1712 [NOI2016]区间 尺取法+线段树+离散化
洛谷P1712 [NOI2016]区间 noi2016第一题(大概是签到题吧,可我还是不会) 链接在这里 题面可以看链接: 先看题意 这么大的l,r,先来个离散化 很容易,我们可以想到一个结论 假设一 ...
- 洛谷 1063 dp 区间dp
洛谷 1063 dp 区间dp 感觉做完这道提高组T1的题之后,受到了深深的碾压,,最近各种不在状态.. 初看这道题,不难发现它具有区间可并性,即(i, j)的最大值可以由(i, k) 与 (k+1, ...
- BZOJ5259/洛谷P4747: [Cerc2017]区间
BZOJ5259/洛谷P4747: [Cerc2017]区间 2019.8.5 [HZOI]NOIP模拟测试13 C.优美序列 思维好题,然而当成NOIP模拟题↑真的好吗... 洛谷和BZOJ都有,就 ...
随机推荐
- PHP-FPM 慢执行日志、网站隔离配置
慢执行日志 1.配置文件下打开慢执行日志 vim /usr/local/php/etc/php-fpm.conf # 慢执行日志路径 slowlog = /path/to/slow.log # 设置超 ...
- jQuery多层级垂直手风琴菜单
在线演示 本地下载
- cisco笔记
交换机 show cdp neighbors 显示邻居信息 路由 show ip interface brief 显示接口ip
- BeatSaber节奏光剑插件开发官方教程1-创建一个插件模板
原文:https://wiki.assistant.moe/modding/intro 一.简介 Beat Saber 开发环境:unity2018.C#..NET framework 4.6. 此教 ...
- Oracle数据类型(4)
字符类型: CHAR(size):固定长度字符串,最大长度2000 bytes VARCHAR2(size):可变长度的字符串,最大长度4000 bytes,可做索引的最大长度749 NCHAR(si ...
- 高并发情况下分布式全局ID
1.高并发情况下,生成分布式全局id策略2.利用全球唯一UUID生成订单号优缺点3.基于数据库自增或者序列生成订单号4.数据库集群如何考虑数据库自增唯一性5.基于Redis生成生成全局id策略6.Tw ...
- AtCoder Regular Contest 097
AtCoder Regular Contest 097 C - K-th Substring 题意: 求一个长度小于等于5000的字符串的第K小子串,相同子串算一个. K<=5. 分析: 一眼看 ...
- 简单的aop实现日志打印(切入点表达式)
Spring中可以使用注解或XML文件配置的方式实现AOP. 1.导入jar包 com.springsource.net.sf.cglib -2.2.0.jar com.springsource.or ...
- TED字幕摘抄
1.丹·吉尔伯特: 我们为什么快乐?http://v.163.com/movie/2012/12/0/S/M8HHB6LDT_M8HHCBM0S.html 在两百万年中, 大脑脑容量从我们祖先能人的1 ...
- Spring + Spring MVC + MyBatis框架整合
---恢复内容开始--- 一.Maven Web项目创建 如有需要,请参考:使用maven创建web项目 二.Spring + Spring MVC + MyBatis整合 1.Maven引入需要的J ...