雅礼集训 Day3 T2 u 解题报告

u

题目背景

\(\frac 14\) 遇到了一道水题,完全不会做,于是去请教小\(\text{D}\)。小\(\text{D}\)看了一眼就切掉了这题,嘲讽了\(\frac 14\)一番就离开了。

于是,\(\frac 14\)只好来问你,这道题是这样的:

题目描述

考虑一个\(n\times n\)的矩阵\(A\),初始所有元素均为\(0\)

执行\(q\)次如下形式的操作:给定\(4\)个整数\(r,c,l,s\),对于每个满足\(x\in [r,r+l),y\in [c,x-r+c]\)的元素\((x,y)\),将权值增加\(s\)。也就是,给一个左上顶点为\((r,c)\)、直角边长为\(l\)的下三角区域加上\(s\)

输出最终矩阵的元素异或和。

输出输出格式

输入格式

从文件u.in 中读入数据。

第一行两个整数\(n,q\)

接下来\(q\)行,每行四个整数\(r,c,l,s\),代表一次操作。

输出格式

输出到文件u.out 中。
输出一行,一个整数,代表答案。

数据范围

保证\(n\in [1,10^3]\)\(q\in [0,3\times 10^5]\)\(r,c,l\in [1,n]\)\(s\in [1,10^9]\)

\(\text{Subtask}\) 分值 \(n\le\) \(q\le\) 其他限制
\(1\) \(1\) \(10^3\) \(0\)
\(2\) \(19\) \(3\times 10^2\) \(4\times 10^2\)
\(3\) \(27\) \(10^3\) \(2\times 10^3\)
\(4\) \(14\) \(10^3\) \(3\times 10^5\) 保证\(r+l=n+1\)\(c=1\)
\(5\) \(17\) \(10^3\) \(3\times 10^5\) 保证\(r+l=n+1\)
\(6\) \(22\) \(10^3\) \(3\times 10^5\)

没有修改为啥不直接查分呢??

我居然只写了拿差分暴力的分。。

注意到改差分数组是改一个列和一个斜着的东西

然而这些都可以看做是连续的

于是可以维护差分数组的差分

最后才加回去


Code:


posted @ 2018-10-03 20:42  露迭月  阅读(364)  评论(1编辑  收藏  举报