为什么这样是错误的

P1502 窗口的星星

就是那个-1
by GCY_XZT @ 2023-02-24 16:40:27


```cpp ys.push_back(y); ys.push_back(y+h-1); ``` 这里,你离散化之前已经减过一了,后面离散化之后肯定就不用减了啊。
by 六楼溜刘 @ 2023-02-24 17:11:33


这是我的正确代码。 ```cpp int y1=lsh[li[i].y1],y2=lsh[li[i].y2]; mytree.Update(y1,y2,li[i].k); ans=max(ans,mytree.Ask()); ``` 第一行改成这样就只有80分了(因为我离散化从0开始,除了你错的那个点还会 RE 一个)。 ```cpp int y1=lsh[li[i].y1],y2=lsh[li[i].y2]-1; ```
by 六楼溜刘 @ 2023-02-24 17:19:28


但离散化那个-1应该是边界吧,我这里的-1是因为线段树内一个点代表一个小区间
by GCY_XZT @ 2023-02-25 21:51:00


@[GCY_XZT](/user/315132) 玩原神玩的
by bingxin @ 2023-11-10 11:23:06


|