
树状数组
Let_life_stop
和强者对战才是提升自己最快的方法。
展开
-
树状数组之区间更新与查询
具体思路:由于树状数组裸的模板只能通过数组求区间和,而对于区间的更新的查询无法实现,所以通过多个数组进行辅助。 具体公式,通过三个数组实现。第一个数组记录第一组的前缀和。然后如果是更新的话,举个例子,一共有10个数,1~n.在5 8 之间每一个数加3,也就是总的和在原来的基础上上加上了12,我们可以这样记录,从第5个到最后一个都加上3,然后从的第九个到最后一个都减去3.这样就记录好了。具体实现这...原创 2018-10-11 18:29:30 · 290 阅读 · 0 评论 -
树状数组求区间最值和单点更新
题目链接:https://cn.vjudge.net/contest/66989#problem/B AC代码: #include<iostream> #include<string> #include<cstring> #include<cmath> #include<stdio.h> #include<iomanip>...原创 2018-10-12 20:35:00 · 188 阅读 · 0 评论 -
树状数组区间查询和单点更新
题目链接:https://cn.vjudge.net/contest/66989#problem/A(线段树模板题) 树状数组可以实现线段树的部分功能,只是写起来比较简单。 AC代码: #include<iostream> #include<string> #include<cstring> #include<iomanip> #includ...原创 2018-10-10 17:08:37 · 123 阅读 · 0 评论 -
C - K-inversions URAL - 1523 (dp + 线段树)
题目链接:https://cn.vjudge.net/contest/275079#problem/C 具体思路:我们可以分层的去建立,假设我们要找k层,我们可以先把满足1.2....k-1层的满足情况的找出来,然后就可以求出k层的了.这个过程需要线段树的维护,每一次我们先找出当前这个在满足情况下的个数,然后不停的往下跟新就可以了. AC代码: #include<iostream&g...原创 2018-12-11 17:51:35 · 191 阅读 · 0 评论