【一本通题解】树状数组
前言
刚开始刷树状数组的时候只会模板,后面的题压根不会,于是就用别的算法水了几道。
后来板刷一本通的时候,感觉要不整个活就太亏了,于是有了这篇文章
「一本通 4.1 例 1」数列操作
算法:分块
树状数组板子题,用分块过了。
代码
1 |
|
「一本通 4.1 例 2」数星星 Stars
算法:动态开点权值线段树
正解应该是权值树状数组,但我用了权值线段树,但空间不够,于是动态开点。
代码
1 |
|
「一本通 4.1 练习 1」清点人数
算法:线段树
可以说是线段树板子题吧,自然是要用线段树的捏
代码
1 |
|
「一本通 4.1 练习 2」简单题
算法:线段树
区间取反,自然是要用可爱的线段树啦,维护个懒标记即可。
代码
1 |
|
「一本通 4.1 练习 3」打鼹鼠
算法:线段树+暴力+剪枝
本来想写二逼线段树的,但是xyz太懒了,不想写那么高难度的算法,于是她想暴力。
她写了个一维暴力,二维线段树的暴力算法,果然挂了(73)
然后聪明的xyz就加了个剪枝(若一行里个数为0直接返回),就过了!!!
代码
1 |
|
后记
本文是xyz的整活,如果你真的想学树状数组,千万不要像她这么干
(xyz可爱捏)
【一本通题解】树状数组
http://luhaoren.xyz/2023/09/28/【整活】如何不用树状数组AK一本通树状数组/