前缀和--cf816b karen and coffee
来源:互联网 发布:hub网络 编辑:程序博客网 时间:2024/06/07 10:06
已知n,k,q,n组温度l,r,求至少出现k次的温度,q次问询,求问询区间里有多少个满足条件的温度。
前缀和。
用l,r数组标记,每次起点+1,终点 + 1的位置-1,最后求前缀和,则为该温度出现的次数。
将出现大于k次的置为1,否则为0,求前缀和,则为满足条件次数的前缀和,sum[r] - sum[l]可快速求解。
#include <iostream>
#include <cstdio>
#include <cstring>
using namespacestd;
const int maxn =2 *1e5 +5;
int l[maxn],r[maxn],sum[maxn];
int main()
{
memset(l,0,sizeof(l));
memset(r,0,sizeof(r));
memset(sum,0,sizeof(sum));
int n,k,q;
scanf("%d%d%d",&n,&k,&q);
int tl,tr;
for (int i =0; i < n; i ++) {
scanf("%d%d",&tl,&tr);
l[tl] ++;
r[tr +1] --;
}
for (int i =1; i <maxn; i ++) {
sum[i] =sum[i -1] +l[i] +r[i];
}
for (int i =1; i <maxn; i ++) {
if (sum[i] >= k) {
sum[i] =1;
}
elsesum[i] =0;
}
for (int i =1; i <maxn; i ++) {
sum[i] +=sum[i -1];
}
for (int i =0; i < q; i ++) {
scanf("%d%d",&tl,&tr);
printf("%d\n",sum[tr] -sum[tl - 1]);
}
return0;
}
- 前缀和--cf816b karen and coffee
- CF816B-Karen and Coffee
- CF816B-Karen and Coffee
- cf#419 Karen and Coffee 前缀和
- Karen and Coffee(前缀和,大量查询)
- Codeforces 816B Karen and Coffee(前缀和)
- codeforces 816-B. Karen and Coffee(前缀和+思维)
- [前缀和] Codeforces Round #419 (Div. 2)B. Karen and Coffee
- Codeforces Round #419 (Div. 2) B. Karen and Coffee【前缀和求区间覆盖次数】
- Karen and Coffee codeforces
- Codeforces816B Karen and Coffee
- Karen and Coffee
- CF419 div2B. Karen and Coffee
- Codeforces#419 Karen and Coffee
- CodeForces B. Karen and Coffee
- Karen and Coffee 816B
- CodeForce Round #479 B. Karen and Coffee
- Karen and Coffee codeforces 816B
- spring MVC配置详解
- 记matlab遇到的函数(一)--linspace
- C语言编程之识别合法帧(2)
- openslide处理大图
- springMVC 入门程序 helloworld!
- 前缀和--cf816b karen and coffee
- 牛客网编程练习之JS函数封装
- Android ListView异步加载图片乱序问题,原因分析及解决方案
- 编程计算含有汉字的字符串长度
- HP-Socket v4.3.1,高性能 TCP & HTTP 通信框架
- 解决图片加载错位的类
- 39-二叉树的深度
- JS基础知识点梳理
- java基础(一):进制,运算符,流程控制,函数,数组