#P14233. [COI 2011] 收视率 / TELKA

    ID: 16042 远端评测题 1000ms 64MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>2011线段树树状数组Special Judge前缀和差分COI(克罗地亚)

[COI 2011] 收视率 / TELKA

题目背景

译自 COI 2011 T2

题目描述

最近,Mirko 所在的地区进行了一次人口普查。除了记录每位居民的众多信息外,地区特别关注电视收视数据。

每位居民在普查中提供了以下格式的两个时间点:

HH:MM:SS – HH:MM:SS\text{HH:MM:SS – HH:MM:SS}

第一个时间表示该居民开始观看电视的时刻,第二个时间表示停止观看电视的时刻(以秒为单位)。居民观看电视的时间完全包含两个端点。

需注意,部分居民可能在前一天深夜开始观看电视(例如 23:45:30\text{23:45:30}),并在次日结束观看(例如 01:15:00\text{01:15:00})。

居民的收视行为每天在同一时间段重复。

数据收集完成后,统计人员开始进行分析。电视节目在某一秒的"收视热度"定义为该秒内正在观看电视的总人数。
统计人员需要计算 QQ 个特别关注时间区间内的平均收视热度。某个时间区间的平均收视热度等于该区间内每秒收视热度之和除以区间总秒数。

输入格式

第一行输入一个自然数 NN (N100,000)(N \le 100,000),表示居民数量。

随后 NN 行每行包含一位居民提供的两个时间点,格式如上所述。其中 $0 \le \text{HH} \le 23, 0 \le \text{MM} \le 59, 0 \le \text{SS} \le 59$。

下一行输入一个自然数 QQ (Q100,000)(Q \le 100,000),表示待分析的特别关注时间区间数量。

随后 QQ 行每行包含一个时间区间,格式与居民时间记录相同。

输出格式

对于每个时间区间,单独输出一行该区间内的平均收视热度。

只要输出结果与标准答案的绝对误差或相对误差不超过 10610^{-6},即被视为正确。

5 
00:00:00 - 00:00:01 
00:00:01 - 00:00:03 
00:00:00 - 00:00:02 
00:00:05 - 00:00:09 
00:00:06 - 00:00:06 
5 
00:00:00 - 00:00:03 
00:00:07 - 00:00:09 
00:00:06 - 00:00:06 
00:00:05 - 00:00:09 
00:00:00 - 00:00:09
2.0000000000 
1.0000000000 
2.0000000000 
1.2000000000 
1.4000000000
3 
00:00:00 - 10:00:00 
10:00:00 - 00:00:00 
01:01:01 - 02:02:02 
4 
00:00:00 - 23:59:59 
23:59:59 - 23:59:58 
23:59:59 - 23:59:59 
08:34:43 - 12:22:17 
1.0424074074 
1.0424074074 
1.0000000000 
1.0000732332 

提示

对于 25%25\% 的测试数据满足:N500N \le 500Q500Q \le 500

对于另外 25%25\% 的测试数据满足:N500N \le 500Q100,000Q \le 100,000

对于另外 25%25\% 的测试数据满足:N100,000N \le 100,000Q500Q \le 500