A. Karen and Morning

传送门:http://codeforces.com/contest/816/problem/A

水题,参考程序如下:

#include <stdio.h>

int main(void)
{
int h, m, H, M;
scanf("%d:%d", &h, &m);
for (int i = ; i <= * ; i++) {
H = (h + (m + i) / ) % ;
M = (m + i) % ;
if (H / == M % && H % == M / ) {
printf("%d\n", i);
break;
}
}
return ;
}

B. Karen and Coffee

传送门:http://codeforces.com/contest/816/problem/B

本题是一个数学问题——区间统计。

给定n个整数区间,第i个区间为[li..ri]。定义数轴上一个整数点的覆盖重数为给定区间中,包含该整数的区间个数。

再给出q次查询,第j次的查询区间为[aj..bj],查询内容为区间[aj..bj]中覆盖重数至少为k的整数点的个数。

最直观的解法是直接构造覆盖重数数组c[]:c[]初始化为0,对每一个i,将c[li..ri]++;查询时,对每一个j,统计c[aj..bj]≥k的个数即可。这个记录与查询的时间复杂度均比较高,因此需要在此基础上建立一个优化方案:自左向右的计数。

计算覆盖重数数组c[]的简单方法:

a.c[]初始化为0;

b.对于每一个ic[li]++c[ri+1]--

c.自左向右计数:c[a]+=c[a-1]。

如此,记录数据的复杂度为线性的:O(n+MAX_VAL)。

之后统计c[]≥k的整数点个数:直接统计的时间复杂度较高,因此可以考虑构造另一个数组cnt[]:对每一个acnt[a]为c[0..a]≥k的个数。因此,对于第j次查询,c[aj..bj]≥k的个数为cnt[bj]-cnt[aj-1]。

计算数组cnt[]的简单方法:

a.对于每一个0≤a≤MAX_VAL,若c[a]≥k,则cnt[a]=1,否则cnt[a]=0;

b.自左向右计数:cnt[a]+=cnt[a-1]。

程序实现上,可以使用一个数组完成操作。参考程序如下:

#include <stdio.h>
#define MAX_VAL 200001 int c[MAX_VAL]; int main(void)
{
int n, k, q;
scanf("%d%d%d", &n, &k, &q);
for (int i = ; i < n; i++) {
int l, r;
scanf("%d%d", &l, &r);
c[l]++;
c[r + ]--;
}
for (int i = ; i < MAX_VAL; i++)
c[i] += c[i - ];
for (int i = ; i < MAX_VAL; i++)
c[i] = c[i] >= k? : ;
for (int i = ; i < MAX_VAL; i++)
c[i] += c[i - ];
while (q--) {
int a, b;
scanf("%d%d", &a, &b);
printf("%d\n", c[b] - c[a - ]);
}
return ;
}

Codeforces 816A/B的更多相关文章

  1. 【codeforces 816A】Karen and Morning

    [题目链接]:http://codeforces.com/contest/816/problem/A [题意] 让你一分钟一分钟地累加时间; 问多长时间以后是个回文串; [题解] reverse之后如 ...

  2. [Codeforces 816A]Karen and Morning

    题目大意:给你一个时间(hh:mm),求最少经过多少分钟才能使这个时间变成回文. 解题思路:模拟,先判断0的情况,然后每过1分钟判断一次即可. C++ Code: #include<cstdio ...

  3. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  4. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  5. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  6. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

  7. CodeForces - 662A Gambling Nim

    http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...

  8. CodeForces - 274B Zero Tree

    http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...

  9. CodeForces - 261B Maxim and Restaurant

    http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...

随机推荐

  1. 初识ASP.NET---点滴的积累---ASP.NET学习小结

    差点儿相同十多天前学习完了北大青鸟的学习视频,没想到没几天的时间就看完了XML视频和牛腩的Javascript视频.学习完了也该总结总结.理理自己的思路.消化一下自己学习到的东西. 视频中的理论知识并 ...

  2. MapReduce:具体解释Shuffle过程

    Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方.要想理解MapReduce, Shuffle是必需要了解的.我看过非常多相关的资料,但每次看完都云里雾里的绕着,非常难理清大致的逻 ...

  3. cocos2d-x 3.1.1 学习笔记[16] Particle 粒子效果

    //plist文件中面有粒子效果的各种參数 //textureFileName相应着使用粒子的图片 auto particle = ParticleSystemQuad::create("s ...

  4. luogu2320 鬼谷子的钱袋

    题目大意 鬼谷子决定将自己的金币数好并用一个个的小钱袋装好,以便在他现有金币的支付能力下,任何数目的金币他都能用这些封闭好的小钱的组合来付账.求钱袋数最少,并且不有两个钱袋装有相同的大于1的金币数的装 ...

  5. bzoj3047:Freda的传呼机&&bzoj2125: 最短路

    完结撒花!!!!!!!!!!! 最后一题填坑1A仙人掌WWWWWWW我真流弊 首先把环拆开,环中每一个点连向环的根,然后搞LCA,答案就是套路的d[x]+d[y]-d[lca]*2 然后就可以发现,其 ...

  6. Pet(dfs)

    http://acm.hdu.edu.cn/showproblem.php?pid=4707 题意:判断距离大于D的点有多少个. 思路: 邻接表建图,dfs每一个点,记录步数. #include &l ...

  7. LocalDateTime查找最近的五分钟点

    /** * 最近的五分钟 * @param dateTime * @return */ public static LocalDateTime getNear5(LocalDateTime dateT ...

  8. # 深入理解Redis(二)——内存管理的建议与技巧

    引语 随着使用Redis的深入,我们不可避免的需要深入了解优化Redis的内存,本章将重点讲解Redis的内存优化之道,同时推荐大家阅读memory-optimization一文. 想要高效的使用Re ...

  9. xml之基本操作

    XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized Markup Lang ...

  10. nginx编译安装新模块

    nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so 这里以安装第三方ngx_http_google_filter_module模块为例 下载第三方扩展模块ngx_ht ...