QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 256 MB مجموع النقاط: 100

#4524. 可疑样本 / 水文学

الإحصائيات

Fatima 是一位研究员,她目前正在研究其所在国家河流流域的水循环。她从测量各种气候相关数值的多个气象站收集数据样本。Fatima 随后在这些样本中寻找有趣的模式。她使用一个程序,实时读取传入的样本数据,并输出那些在某种程度上有趣或可疑的样本。判断一个样本是“有趣”还是“可疑”是基于一组固定的条件,例如“该值大于过去两小时的平均值”或“该值低于过去五分钟内的任何其他值”,这些条件很容易编程实现。

今天,Fatima 对她昨天的结果产生了怀疑,她来找你这位经验丰富的程序员。她认为她的程序没有正确评估数据,并请求你帮助她验证结果。具体来说,她带来了完整的样本序列,并向你描述了这组条件。你的程序必须读取这些样本,并根据条件产生输出。Fatima 随后会将你的程序的输出与她程序的输出进行比较,并决定下一步该做什么。

输入格式

输入包含多组测试数据。每组测试数据的第一行包含一个整数 $N$ ($1 \le N \le 10^5$),表示样本的数量。接下来有 $N$ 行,每行描述一个样本。该行包含两个整数 $T_i$ 和 $V_i$ ($1 \le T_i \le 10^9, 1 \le V_i \le 10^4$),表示样本值 $V_i$ 是在时间 $T_i$ 获取的。时间以自过去某个固定时刻起经过的秒数给出,并且它们构成一个严格递增的序列 ($\forall i, k \ 1 \le i < k \le N : T_i < T_k$)。

下一行包含一个整数 $C$ ($1 \le C \le 10$),表示需要评估的条件数量。接下来的 $C$ 行,每行指定一个条件 $C_j$。该行包含三个由空格分隔的标记:

  • 关系运算符 $R_j$,为 “gt”(大于)或 “lt”(小于)。
  • 聚合函数 $F_j$,为 “min”(最小值)、“max”(最大值)或 “avg”(平均值)之一。
  • 一个整数 $L_j$,指定所关注的时间间隔长度(以秒为单位)。

通常,应用于样本值 $V_i$ 的条件会检查 $V_i$ 与在 $V_i$ 之前获取的某些样本的聚合特征之间的关系。函数 $F_j$ 正好指定了该特征。

更具体地说,令 $S_{ij}$ 为在 $V_i$ 之前获取且时间间隔不超过 $L_j$ 秒的所有样本的集合。当且仅当关系 $V_i R_j F_j(S_{ij})$ 成立时,样本值 $V_i$ 满足条件 $C_j$。例如,样本值 800 结合 “lt min 300” 可以解读为“800 是否小于在获取此 800 之前的 5 分钟内获取的最小样本值?”。注意,样本 $V_i$ 本身不属于 $S_{ij}$。

输出格式

对于每个条件,输出一个整数:满足该特定条件的样本数量。如果时间间隔内没有样本,则该条件永远不会被视为满足。

样例

输入 1

10
60 30
120 28
180 35
240 34
300 40
360 31
420 28
480 2
540 42
600 30
2
gt avg 7200
lt min 300

输出 1

4
2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.