题目链接:http://codeforces.com/contest/816/problem/B

题意:一个大区间被n条线覆盖,接下来有q次询问,询问[l,r]内有多少个点被>=k个线覆盖。

区间两头左闭右开打标记,左边+1右边-1,维护这个标记的前缀和,再维护一个前缀和,找到上一个前缀和里>=k的点,更新到当前的前缀和里就是了。 
 1 #include <algorithm>
 2 #include <iostream>
 3 #include <iomanip>
 4 #include <cstring>
 5 #include <climits>
 6 #include <complex>
 7 #include <cassert>
 8 #include <cstdio>
 9 #include <bitset>
10 #include <vector>
11 #include <deque>
12 #include <queue>
13 #include <stack>
14 #include <ctime>
15 #include <set>
16 #include <map>
17 #include <cmath>
18 using namespace std;
19 #define fr first
20 #define sc second
21 #define cl clear
22 #define BUG puts("here!!!")
23 #define W(a) while(a--)
24 #define pb(a) push_back(a)
25 #define Rint(a) scanf("%d", &a)
26 #define Rll(a) scanf("%lld", &a)
27 #define Rs(a) scanf("%s", a)
28 #define Cin(a) cin >> a
29 #define FRead() freopen("in", "r", stdin)
30 #define FWrite() freopen("out", "w", stdout)
31 #define Rep(i, len) for(int i = 0; i < (len); i++)
32 #define For(i, a, len) for(int i = (a); i < (len); i++)
33 #define Cls(a) memset((a), 0, sizeof(a))
34 #define Clr(a, x) memset((a), (x), sizeof(a))
35 #define Full(a) memset((a), 0x7f7f7f, sizeof(a))
36 #define lrt rt << 1
37 #define rrt rt << 1 | 1
38 #define pi 3.14159265359
39 #define RT return
40 #define lowbit(x) x & (-x)
41 #define onenum(x) __builtin_popcount(x)
42 typedef long long LL;
43 typedef long double LD;
44 typedef unsigned long long ULL;
45 typedef pair<int, int> pii;
46 typedef pair<string, int> psi;
47 typedef pair<LL, LL> pll;
48 typedef map<string, int> msi;
49 typedef vector<int> vi;
50 typedef vector<LL> vl;
51 typedef vector<vl> vvl;
52 typedef vector<bool> vb;
53
54 const int maxn = 200200;
55 int n, k, q;
56 int line[maxn];
57 int sum[maxn];
58
59 signed main() {
60     // FRead();
61     int x, y;
62     while(~Rint(n)) {
63         Rint(k); Rint(q);
64         Cls(line); Cls(sum);
65         Rep(i, n) {
66             Rint(x); Rint(y);
67             line[x]++; line[y+1]--;
68         }
69         For(i, 1, 200020) {
70             line[i] += line[i-1];
71             if(line[i] >= k) sum[i] = sum[i-1] + 1;
72             else sum[i] = sum[i-1];
73         }
74         W(q) {
75             Rint(x); Rint(y);
76             printf("%d\n", sum[y]-sum[x-1]);
77         }
78     }
79     RT 0;
80 }

转载于:https://www.cnblogs.com/kirai/p/7043915.html

[CF816B] Karen and Coffee(前缀和,思维)相关推荐

  1. codeforces 816 B. Karen and Coffee(思维)

    题目链接:http://codeforces.com/contest/816/problem/B 题意:给出n个范围,q个查询问查询区间出现多少点在给出的n个范围中至少占了k次 题解:很显然的一道题目 ...

  2. 洛谷 - P1714 切蛋糕(单调队列+前缀和+思维)

    题目链接:点击查看 题目大意:给出一个由n个数组成的序列,求长度不超过m的连续子段和中的最大值 题目分析:因为给出了一个限制条件,所以这就不能当普通的动态规划来做了,我们可以跑一遍前缀和,然后枚举每一 ...

  3. Karen and Coffee 爱思创题解

    前言: 本题为作业 题目描述 Karen 喜欢咖啡. 她有 n 本食谱,第 i 本食谱包含两个数 li​,ri​,表示这本食谱推荐用 [li​,ri​] 之间的温度(包含 li.ri)来煮咖啡. Ka ...

  4. 180418 Karen and Coffee 题解

    题目描述 Karen 喜欢咖啡. 她有 n 本食谱,第 ii 本食谱包含两个数 l[i],r[i],表示这本食谱推荐用 [l[i],r[i]]之间的温度(包含 l_i.r_ili​.ri​)来煮咖啡. ...

  5. 中石油训练赛 - Block(二维前缀和+思维)

    题目描述 Alice得到了一张由n×m个黑白像素点组成的图片,她想要压缩这张图片.压缩图片的过程如下: 1.首先,选择一个正整数k(k>1),将图片划分成若干个k×k的小块.如果n,m不能被k整 ...

  6. C - Sweets Eating 前缀和 + 思维找规律

    传送门 思路:1.找出最优策略 2.优化代码 最主要的是如何优化代码,我们发现m是一个周期,在m周期类的元素不会受到影响,一旦到达一个周期,那么此时的数值就要整体移一位,这个可以用前缀和来实现. 设d ...

  7. 暑假多校训练营选拔赛

    CF282A Bit++ 题目链接 题意 其中X++,++X表示把 X 加 1 ,X–,–X表示把 X 减 1 . 思路 判断是加还是减 进行计算 最后输出结果 坑点 无 代码 #include< ...

  8. Codeforces 题目合集+分类+代码 【Updating...】【361 in total】

    961A - Tetris                                                模拟                                      ...

  9. 第二章:二分和前缀和 【完结】

    基本熟练掌握了. 目录 789. 数的范围 [整数二分 板子题] 790. 数的三次方根 [实数二分] 795. 前缀和 [一维前缀和 板子题] 796. 子矩阵的和 [二维前缀和 板子题] 730. ...

最新文章

  1. linux的网络命令整理 更新中
  2. MyBatis执行过程显示SQL语句的log4j配置
  3. 计算机组成原理 — CPU — 指令集架构类型
  4. c#写图像tif gdal_C# GDAL显示TIF
  5. 【python】lxml处理命名空间
  6. 网站优化之尽量避免重定向(301/302)
  7. duck typing java_编程语言中的鸭子类型 Duck Typing
  8. Jsch ssh登陆
  9. 分布式系统开发注意事项
  10. 不同的二叉搜索树 II
  11. python安装jupyterlab_JupyterLab的安装及使用
  12. places365_Google Places API网络服务示例
  13. ODI Studio(二)--接口数据库集成,数据库 TO 数据库
  14. python坐标轴刻度设置为一个函数_Python坐标轴操作及设置代码实例
  15. CentOS7恢复rm -rf 误删的xfs系统
  16. 【PC】TP-LINK WDN5200 AP模式无网络连接权限解决
  17. 微分方程数值解 matlab,本学期微分方程数值解课程总结(matlab代码)
  18. 299. 猜数字游戏【我亦无他唯手熟尔】
  19. 为什么计算机关机后自动开机,老司机教你电脑关机后自动开机怎么办
  20. java 解析器_高性能Java解析器实现过程详解

热门文章

  1. System Center Virtual Machine Manager 2012 SP1系列文章
  2. Apache HTTP Server搭建虚拟主机
  3. 组策略部署软件----将部署的软件分类
  4. [转]C++基础:C++的结构struct
  5. jdbc连接oracle rac服务器
  6. 如何训练大学生的工程实战能力
  7. 微信小程序 --- 图片自适应、本地图片的使用
  8. 发现了一个很好的做excel、ppt 水晶易表、spss的好网站
  9. SQL CASE WHEN用法
  10. 算法-------位1的个数