摘要:
首先需要意识到这一点:生长速度快的植物,无论进行多少次操作,其高度一定大于等于生长速度慢的植物。于是可以先把植物生长速度进行排序,建立线段树,有两种标记,一种标记表示经历了多少时间,另一种为覆盖标记,一开始先把时间标记打上两个询问的时间差,然后用二分查询找到第一个高度>=询问值的位置i,然后使用线段 阅读全文
摘要:
首先先直接对图进行二染色,dfs染完色后,有的边为搜索树边,有的为非树边,当非树边连接的两头的点为异色的时候,那么很明显这条非树边和树边构成的环上的边必然不可能成为答案;如果非树边的两端的点同色,那么所有这种类型的非树边与树边构成的环的交集就是答案,对于一条这样的非树边,如果要使其变成二分图的合法边 阅读全文
摘要:
水题,题目难点大概就是空间限制上了,开longlong会爆,可以开个int数组求前缀和,然后一旦绝对值超过20亿,则将其取模,并记录下当前位置,这样询问时就可以二分这些超过的位置,将其乘以20亿后加上前缀和就是答案。 代码 阅读全文
摘要:
按x轴进行分治,将[l,r]分成[l,mid]和[mid+1,r],左下角点x值在[l,mid]中,右上角点x值在[mid+1,r],然后将[l,r]中的所有点按y轴排序,按顺序扫描,若扫描到左下角点,用一个单调栈维护,若扫描到右上角点,用另一个单调栈维护的同时,去维护左下角的单调栈中二分出答案,复 阅读全文