QOJ.ac

QOJ

时间限制: 8 s 内存限制: 512 MB 总分: 100

#11146. 新合同 2

统计

你的游戏在市场上依然大受欢迎,因此推出续作只是时间问题。不幸的是,你与那位著名科幻作家的合同刚刚到期,你必须重新进行谈判。当然,作者的律师们提出了苛刻的要求,而且他们还经常改变主意。

合同规定,对于你计划发行的每一款游戏(共 $N$ 款),你都需要支付一笔 $M$ 位的二进制金额,可能包含前导零。当然,律师们已经预见到——就像之前的作品一样——这些金额会越来越高,因此他们要求后续的金额必须构成一个严格递增的序列。每一笔金额都必须是正数。

复杂的税收法规规定,某些数字的某些位必须为 $0$——这些位被称为“固定位”。其余的位是“非固定位”(我们用 '?' 表示),你可以自由决定它们的值。位的状态(固定/非固定)可能会发生变化,有时你必须准备一份新的合同,以最小化支付给作者的总金额。

你将收到两种类型的指令(部分加密,以强制要求在线求解):

  • $1 \ r' \ c'$ ($0 \le r' \le N - 1, 0 \le c' \le M - 1$) —— 令 $r = (r' + X) \pmod N$ 且 $c = (c' + X) \pmod M$,其中 $X$ 是上一次给出的不等于 $-1$ 的答案(如果之前没有此类答案,则 $X = 0$)。在第 $r$ 个数字中,改变第 $c$ 个位的状态,即从固定变为非固定,或反之。游戏编号从 $0$ 到 $N - 1$。位编号从 $0$ 到 $M - 1$,从左到右(即从最高有效位开始)。
  • $2$ —— 找出支付给作者的 $N$ 笔金额之和的最小值,并输出结果对 $10^9 + 7$ 取模后的值。如果无法满足给定的条件,则输出 $-1$。

起初,所有位都是固定的(即等于 $0$)。

输入格式

第一行包含三个整数 $N, M$ 和 $Q$ ($1 \le N \le 1000, 1 \le M \le 10^9, 1 \le Q \le 500\,000$),分别表示游戏数量、每笔报酬的位数以及需要处理的查询数量。接下来的 $Q$ 行包含查询,格式如题目描述中所述。

在类型 $1$ 的查询中,满足 $0 \le r' \le N - 1, 0 \le c' \le M - 1$。

类型 $2$ 的查询至少有 $1$ 个,至多有 $1000$ 个。

输出格式

对于每个类型 $2$ 的查询,输出一行一个整数——在给定场景下作者的最小总收入对 $10^9 + 7$ 取模的结果(如果满足条件)。否则,输出 $-1$。

样例

输入 1

3 4 14
1 0 0
1 1 0
1 2 0
2
1 1 2
2
1 2 1
2
1 0 2
2
1 0 1
2
1 0 3
2

输出 1

-1
-1
30
-1
7
21

说明 1

样例解释:假设输入中的 $r$ 和 $c$ 未经加密(即 $r = r', c = c'$),过程如下:

我们有 $N = 3$ 款游戏,每笔金额必须是 $4$ 位数(可能包含前导零)。前几个查询是平凡的,因为在此之前没有类型 $2$ 的查询返回过非 $-1$ 的结果,所以 $X = 0$。

查询结果为 $30$,因为在该情况下最优(且唯一可能)的金额为 $1000_2, 1010_2$ 和 $1100_2$。这些数字确实是正数且严格递增。金额之和为 $8 + 10 + 12 = 30$。

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.