CF341D.Iahub and Xors

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Iahub 不喜欢背景故事,所以他会直接告诉你题目要求。

给你一个 nn 行 nn 列的矩阵 aa。最初矩阵中所有元素均为 00。行和列都是从 11 开始编号,即行编号为 1,2,…,n1,2,\ldots,n,列编号为 1,2,…,n1,2,\ldots,n。我们用 ai,ja_{i,j} 表示第 ii 行第 jj 列的元素。

我们称一个子矩阵 (x0,y0,x1,y1)(x_0, y_0, x_1, y_1) 包含满足以下不等式的所有元素 ai,ja_{i,j}:x0≤i≤x1x_0 \leq i \leq x_1,y0≤j≤y1y_0 \leq j \leq y_1。

请编写程序实现以下两种操作:

  1. Query(x0,y0,x1,y1x_0, y_0, x_1, y_1):输出子矩阵 (x0,y0,x1,y1)(x_0, y_0, x_1, y_1) 中所有元素的异或和。
  2. Update(x0,y0,x1,y1,vx_0, y_0, x_1, y_1, v):将子矩阵 (x0,y0,x1,y1)(x_0, y_0, x_1, y_1) 中的每个元素与 vv 进行异或。

输入格式

第一行包含两个整数 nn(1≤n≤10001 \leq n \leq 1000)和 mm(1≤m≤1051 \leq m \leq 10^{5}),nn 表示矩阵的规模,mm 表示操作数。接下来的 mm 行,每行包含五个或六个整数,取决于操作类型。

如果第 ii 个操作为查询操作,则该行的第一个数为 11,接着是四个整数 x0,y0,x1,y1x_0, y_0, x_1, y_1。
如果第 ii 个操作为更新操作,则该行的第一个数为 22,接着是五个整数 x0,y0,x1,y1,vx_0, y_0, x_1, y_1, v。

保证对于每次更新操作,都有 0≤v<2620 \leq v < 2^{62}。
保证对于每次操作,都有 1≤x0≤x1≤n1 \leq x_0 \leq x_1 \leq n,1≤y0≤y1≤n1 \leq y_0 \leq y_1 \leq n。

输出格式

对于每次查询操作,输出一行结果。

输入输出样例

  • 输入#1

    3 5
    2 1 1 2 2 1
    2 1 3 2 3 2
    2 3 1 3 3 3
    1 2 2 3 3
    1 2 2 3 2
    

    输出#1

    3
    2
    

说明/提示

在前三个操作之后,矩阵状态如下:

1 1 2
1 1 2
3 3 3

第四个操作要求计算 1xor⁡2xor⁡3xor⁡3=31 \operatorname{xor} 2 \operatorname{xor} 3 \operatorname{xor} 3 = 3。

第五个操作要求计算 1xor⁡3=21 \operatorname{xor} 3 = 2。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页