TallestCow
简单解说
建立差分数组。
以最高的牛为高度基点,假设牛A和牛B能相互看见,就把牛A和牛B中间的牛高度都-1
最后对每头牛直接计算输出即可。
需要注意的是他给出的关系中:两头牛的顺序可能是颠倒的,而且关系可能是重复的
然后这题就没什么了
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <iostream>
#include <queue>
#include <cmath>
using namespace std;
const int maxn=20000000;
struct node{
int l,r;
bool operator <(const node& x)const{
if(l==x.l) return r<x.r;
return l<x.l;
}
}a[maxn];
int ans[maxn];
int main(){
int n,p,h,m;
cin>>n>>p>>h>>m;
for(int i=1;i<=m;i++){
scanf("%d %d",&a[i].l,&a[i].r);
if(a[i].l>a[i].r) swap(a[i].l,a[i].r);
}
sort(a+1,a+1+n);
for(int i=1;i<=n;i++){
if(a[i].l==a[i-1].l && a[i].r==a[i-1].r) continue;
ans[a[i].l+1]--;
ans[a[i].r]++;
}
int cnt=0;
for(int i=1;i<=n;i++){
cnt+=ans[i];
printf("%d\n",cnt+h);
}
return 0;
}
TallestCow的更多相关文章
随机推荐
- 对LinkedList源码的一些个人理解
由于转行的原因,最近打算开始好好学习,昨天看到了部分的LinkedList源码,并且看了一点数据结构的视频,现总结部分自己的心得体会,以供后期给现在的自己拍砖~ 双向链表每一个元素都有数据本身加指向前 ...
- CUDA优化
cuda程序优化 一:程序优化概述 1:精度 在关键步骤使用双精度,其他步骤使用单精度,以获得指令吞吐量和精度的平衡. 2:延迟 先缓冲一定量数据,在交给GPU计算.可以获得较高的数据吞吐量. 3:计 ...
- opencl(5)缓存对象
//创建的内存对象由内核访问,将缓冲区作为参数传递给内核 1:创建缓存对象 cl_mem clCreateBuffer( cl_context context, //上下文 cl_mem_flags ...
- ASP.NET Core Blazor WebAssembly实现一个简单的TODO List
基于blazor实现的一个简单的TODO List 最近看到一些大佬都开始关注blazor,我也想学习一下.做了一个小的demo,todolist,仅是一个小示例,参考此vue项目的实现http:// ...
- [AGC043-D]Merge Triplets
题目 点这里看题目. 分析 我们不妨来考虑一下生成的序列有什么性质. 为了方便表示,我们将序列\(S\)的第\(i\)项写为\(S[i]\). 首先考虑如果所有的\(A\)序列都是递增 ...
- 关联函数-web_reg_save_param
int web_reg_save_param(const char *ParamName,<List of Attributes>,LAST) 返回值:成功时返回LR_PASS,失败时返回 ...
- MyISAM和InnoDB的差异
转载:https://www.cnblogs.com/xc-chejj/p/11245034.html MyISAM是默认表类型,基于ISAM(Indexed Sequential Access Me ...
- K'ed by TNT team是什么意思?
参考资料: https://www.zhihu.com/question/319316132 https://www.reddit.com/r/Piracy/comments/9lk20b/tnt_c ...
- uni-app之实现分页
一.下载库 官方文档地址为:https://ext.dcloud.net.cn/plugin?id=32 点击下载zip压缩包即可,下载完毕后解压到放置前端相关组件目录,即components目录. ...
- 1169A+B问题终结版(高精度计算)
描述 给定两个整数A和B,输出A+B的值.A和B的值可能会很大很大,甚至达到100位.现在请你解决这一问题. 输入 两行,分别是两个整数A,B,换行隔开.A和B会很大很大. 输出 一个整数,即A+B的 ...