题目名称 1936. [CQOI2015]任务查询系统
输入输出 cqoi15_query.in/out
难度等级 ★★★★
时间限制 2000 ms (2 s)
内存限制 512 MiB
测试数据 10
题目来源 GravatarAsm.Def 于2015-04-13加入
开放分组 全部用户
提交状态
分类标签
可持久化 可持久化线段树
分享题解
通过:99, 提交:353, 通过率:28.05%
Gravatarxintang 100 1.277 s 83.62 MiB C++
GravatarYPZ_979 100 1.301 s 99.50 MiB C++
Gravatartest 100 1.316 s 99.50 MiB C++
GravatarAAAAAAAAAA 100 1.356 s 82.75 MiB C++
Gravataryyb 100 1.391 s 79.97 MiB C++
Gravataroi_Konnyaku 100 1.435 s 79.67 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 100 1.519 s 58.50 MiB C++
GravatarVergil 100 1.563 s 117.81 MiB C++
GravatarlAji人 100 1.598 s 157.83 MiB C++
GravatarSusic 100 1.670 s 98.74 MiB C++
关于 任务查询系统 的近10条评论(全部评论)
BZOJ过了,然而COGS竟然T了5个点
懒得卡了= =
GravatarHzoi_Mafia
2017-09-29 10:58 10楼
动态开点二维线段树会MLE……好尴尬啊就差一点
GravatarFoolMike
2017-06-03 13:35 9楼
对操作差分,即可把段修改变为两个点修改。
以时间为"版本号"建立可持久化线段树即可。
Gravatarsxysxy
2017-03-13 10:44 8楼
偷懒用了 Vector ,感觉慢到死。。。
GravatarSulfur6
2017-02-05 15:24 7楼
Peter王这么晚还不睡
给你99个赞
GravatarSOBER 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个不停,也是醉了
GravatarGo灬Fire
2017-01-18 07:24 5楼
多传两个参慢两秒= =
GravatarYGOI_真神名曰驴蛋蛋
2017-01-04 17:46 4楼
对于常数我已经放弃治疗了……Orzzzzzzzzzzzzzzzzzzzz楼上大神
Gravatarcstdio
2015-04-20 16:07 3楼
maya……好像已经快不会写数据结构了……手残得要死……囧……
GravatarAsm.Def
2015-04-14 18:14 2楼
交错了......
GravatarJSX
2015-04-13 19:13 1楼

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$ 的一个排列。