传送门 :
思路因为没有给定 a , b a,b a,b之间的关系,所以我们需要判断一下
并且为了使得, 满足整个数组的条件,显然每条 关系 ,我们只可能运行一次
[ a , b ] [a,b] [a,b]内,所有的高度都比 a a a小,因此从差分的角度看, n u m [ a + 1 ] − − num[a+1]-- num[a+1]−−
又因为 b b b的高度一定大于 a a a的高度,所以 n u m [ b ] + + num[b]++ num[b]++
最后只需要统计一下前缀和输出答案即可
CODEint sum[N],num[N];
int n,i,h,r;
map mp;
void solve()
{
//n头牛 第i头牛的高度为h 最高的, R条信息
cin>>n>>i>>h>>r;
for(int i = 1; i >a>>b;
//a,b间 所有奶牛都比 a笑
//b的高度一定大于等于a的奶牛高度
if(a > b) swap(a,b);
if(mp[make_pair(a,b)]) continue;
mp[make_pair(a,b)] = 1;
num[a+1] --;
num[b]++;
}
for(int i = 1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?