题目链接:弱弱的战壕 这道题似乎是vijos上能找到的最简单的树状数组题了. 原来,我有一个错误的思想,我的设计是维护两个树状数组,一个是横坐标,一个是纵坐标,然后读入每个点的坐标,扔进对应的树状数组内,然后计算时,只要以当前点的坐标为末点求前缀和,在两个前缀和中取最小的一个即可. 但是这个想法很明显有错误比如如图的状况: 此时,在计算1点时,两个的前缀和均为1,但事实上,1点能保护的点为0个. 那么我们应该怎么去解这道题呢? 其实也很简单,我们只维护一个树状数组, 首先我们先把点排序,以y为主…