poj 2155

      又是一道树状数组的题目,而且是一道二维的好题题目要求是,一些操作,可能是对某个矩阵内的所有值取反,可能是问的是某个位置的值????如图假如我们要把B矩阵的所有值都取反,我们只需要操纵矩阵的四个顶点即可,更新左下角顶点的值增1相当于把区域ABCD的变换次数增1,左上角顶点的值增1,相当于区域AC的变换次数增1,右上角顶点的值增1,相当于区域C的变换次数增1,右下角顶点的值增1,相当于区域CD的变换次数增1,最后我们可以发现,除了B区域外,A,C,D,都增加了偶数次的变换,相当于没有变化。所以,每次我们只需对四个顶点进行增1操作即可。在这里,我们应用了树状数组的一个性质,就是如果一个靠前的数据发生了变化,那么和其相关的求和问题都发生了变化。那么问题问的是某个位置的值,比如(x,y),那么在(1,1)(x,y)这个矩阵中,如果有一些数进行过增1操作,那么必然(x,y)点的值也做了相应的变换。那么问题就转化为了求这个矩阵内所有值的和,然后判断其奇偶性。


     





          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值