Link
Sengxian大神给出的做法,说实话,确实比Po姐的简洁 虽然Po姐的做法非常直观,但是修改的操作的讨论太繁杂 本来想了一种自己的做法,可以按照Po姐的办法差分而又避免繁杂的讨论,写出来之后怎么也调不对 只好又去研究了一番Sengxian的题解,感觉非常喵
Solution
注意到的主要事实就是,由此就可以差分来避免区间修改。一维的做法扩展一下,最后就可以推出一个非常优美的二维做法。 Po姐的第二维可变的二维数组写法非常别致啊。。 然后细节比较多,要注意一维和二维线段树查询的边界 改成Sengxian的做法之后,一开始WA了。把二维线段树改成暴力维护矩阵,WA的一样。。 搞了一会儿没办法,把一维线段树也改成暴力了,然后就对了。。 究其原因,是因为一维线段树的边界没有考虑完全,然而一维线段树在二维线段树里是对的,是因为二维线段树的边界判全了。。 这说明,暴露在外直接面向全局的函数一定要判好边界等等特殊情况,被套在里面对了,不代表确实是对的。
Code
1 |
|