题目名称 1936. [CQOI2015]任务查询系统
输入输出 cqoi15_query.in/out
难度等级 ★★★
时间限制 2000 ms (2 s)
内存限制 512 MiB
测试数据 10
题目来源 武嘉鑫 于2015-04-13加入修改该题
开放分组 全部用户
提交状态
分类标签
可持久化 可持久化线段树
分享题解
通过:101, 提交:357, 通过率:28.29%
xintang 100 1.277 s 83.62 MiB C++
尹鹏哲 100 1.301 s 99.50 MiB C++
test 100 1.316 s 99.50 MiB C++
刘睿佳 100 1.356 s 82.75 MiB C++
yyb 100 1.391 s 79.97 MiB C++
yl 100 1.435 s 79.67 MiB C++
房子涵 100 1.519 s 58.50 MiB C++
Vergil 100 1.563 s 117.81 MiB C++
赵启元 100 1.598 s 157.83 MiB C++
舒婧 100 1.670 s 98.74 MiB C++
关于 任务查询系统 的近10条评论(全部评论)
这水题 4 个星/xk
RpUtl
2026-04-18 07:57 11楼
BZOJ过了,然而COGS竟然T了5个点
懒得卡了= =
Hzoi_Mafia
2017-09-29 10:58 10楼
动态开点二维线段树会MLE……好尴尬啊就差一点
FoolMike
2017-06-03 13:35 9楼
对操作差分,即可把段修改变为两个点修改。
以时间为"版本号"建立可持久化线段树即可。
sxysxy
2017-03-13 10:44 8楼
偷懒用了 Vector ,感觉慢到死。。。
Sulfur6
2017-02-05 15:24 7楼
Peter王这么晚还不睡
给你99个赞
SOBER GOOD BOY
2017-01-30 23:15 6楼
可供粘贴的样例:
4 3
1 2 6
2 3 3
1 3 2
3 3 4
3 1 3 2
1 1 3 4
2 2 4 3
本机亲测是对的,交上去就E个不停,也是醉了
Go灬Fire
2017-01-18 07:24 5楼
多传两个参慢两秒= =
YGOI_真神名曰驴蛋蛋
2017-01-04 17:46 4楼
对于常数我已经放弃治疗了……Orzzzzzzzzzzzzzzzzzzzz楼上大神
cstdio
2015-04-20 16:07 3楼
maya……好像已经快不会写数据结构了……手残得要死……囧……
Asm.Def
2015-04-14 18:14 2楼

1936. [CQOI2015]任务查询系统

★★★   输入文件:cqoi15_query.in   输出文件:cqoi15_query.out   简单对比
时间限制:2 s   内存限制:512 MiB

【题目描述】

最近实验室正在为其管理的超级计算机编制一套任务管理系统,而你被安排完成其中的查询部分。  

超级计算机中的任务用三元组 $(s_i, e_i, p_i)$ 描述,$(s_i, e_i, p_i)$ 表示任务从第 $s_i$ 秒开始,在第 $e_i$ 秒后结束(第 $s_i$ 秒和 $e_i$ 秒任务也在运行),其优先级为 $p_i$。同一时间可能有多个任务同时执行,它们的优先级可能相同,也可能不同。  

调度系统会经常向查询系统询问,第 $x_i$ 秒正在运行的任务中,优先级最小的 $k_i$ 个任务(即将任务按照优先级从小到大排序后取前 $k_i$ 个)的优先级之和是多少。  

特别的,如果 $k_i$ 大于第 $x_i$ 秒正在运行的任务总数,则直接回答第 $x_i$ 秒正在运行的任务优先级之和。上述所有参数均为整数,时间的范围在 $[1, n]$ 之间。

【输入格式】

输入文件第一行包含两个空格分开的正整数 $m$ 和 $n$,分别表示任务总数和时间范围。  

接下来 $m$ 行,每行包含三个空格分开的正整数 $s_i,e_i,p_i$($s_i \le e_i$),描述一个任务。  

接下来 $n$ 行,每行包含四个空格分开的整数 $x_i,a_i,b_i,c_i$,描述一次查询。  

本题强制在线。

查询的参数 $k_i$ 需要由公式 $k_i = 1 +(a_i \times \text{pre}+b_i) \bmod c_i$ 计算得到。其中 $\text{pre}$ 表示上一次查询的结果,定义初始 $\text{pre} = 1$ 。

【输出格式】

输出共 $n$ 行,每行一个整数,表示查询结果。

【样例 1 输入】

4 3
1 2 6
2 3 3
1 3 2
3 3 4
3 1 3 2
1 1 3 4
2 2 4 3

【样例 1 输出】

2
8
11

【样例 1 解释】

$k_1 = (1\times 1 + 3)\bmod 2 + 1 = 1$;

$k_2 = (1\times 2+3)\bmod 4 + 1 = 2$;

$k_3 = (2 \times 8+4)\bmod 3+1 = 3$。

【数据范围】

对于 $100\%$ 的数据,$1\le m,n,c_i \le 10 ^ 5$,$0 \le a _ i, b _ i \le 10 ^ 5$,$1\leq s_i\leq e_i\leq n$,$1\le p_i \le 10^7$,$x_i$ 为 $1$ 到 $n$ 的一个排列。