![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
romiqi_new
这个作者很懒,什么都没留下…
展开
-
191026考试题解
T1:求一个网格图从原点出发走n步,每步等概率往上下左右走,最终到达的点和原点之间的欧氏距离的期望打个表可以发现是n,完了具体证明可以推式子或者三角函数#include<bits/stdc++.h>#define mod 998244353#define pii pair<int,int>#define pb push_back#define mp make_...原创 2019-10-26 17:02:14 · 215 阅读 · 0 评论 -
[BZOJ3529][莫比乌斯反演][树状数组]SDOI2014:数表
BZOJ3529要求的是约数和如果没有a的限制,直接反演就完了有a的限制的话,把询问按a排序,用树状数组维护约数和乘上μ\muμ的前缀和即可Code:#include<bits/stdc++.h>#define mod 2147483648#define ll long longusing namespace std;inline int read(){ int r...原创 2019-08-09 19:21:31 · 150 阅读 · 0 评论 -
[BZOJ5416][树状数组][组合数学]NOI2018:冒泡排序
BZOJ5416分析:我们先考虑为什么有些排列是好的,有些排列不好可以发现交换次数的下界这个式子即表示每个位置的数到它原本该在的位置,且有个1/21/21/2表示每次交换必须要让被交换的两个数都离自己的目标位置更近一步所以我们如果把每个数到他的目的地看做一个箭头,则任意两个同向箭头不能有完全包含的关系因为如果出现了包含的箭头,那大箭头一定会把小箭头往反向移动一步所以我们在一个位置填的数...原创 2019-08-09 23:18:12 · 103 阅读 · 0 评论 -
[BZOJ4888][树状数组]TJOI2017:异或和
BZOJ4888可以枚举二进制每一位,看看哪些对它有贡献先弄成前缀和,然后增量构造如果当前前缀和的当前这一位为1,那么要满足它减去之前的一个前缀和之后这一位仍然为1,就是要求减去的那个前缀和的小于枚举的这一位的部分小于当前前缀和的这一部分,这样减掉才不会退位如果当前这一位为0,那就是要大于才能退位退到这一位上来分别用树状数组维护即可Code:#include<bits/stdc...原创 2019-09-16 23:57:36 · 184 阅读 · 0 评论 -
[LOJ3021][树状数组][扫描线]CQOI2017:老C的任务
LOJ3021这扫描线敢不敢再水一点好像没法更水了Code:#include<bits/stdc++.h>#define ll long longusing namespace std;inline ll read(){ ll res=0,f=1;char ch=getchar(); while(!isdigit(ch)) {if(ch=='-') f=-f;ch=g...原创 2019-09-25 21:54:57 · 101 阅读 · 0 评论 -
[LOJ2056][CDQ][树状数组]TJOI / HEOI2016:序列
LOJ2056设一个位置的数的最大可能值为mxmxmx,最小为mnmnmn,原本值为valvalvalDP时显然需要满足以下条件:j<ij<ij<ivalj<mnival_j<mn_ivalj<mnimxj<valimx_j<val_imxj<vali显然三维偏序,CDQ+树状数组Code:#include<bit...原创 2019-09-27 22:00:30 · 105 阅读 · 0 评论 -
[CF1137F][LCT][树状数组]Matches Are Not a Child's Play
CF1137FLCT神题。。。首先三操作显然就是两个二操作然后我们考虑一操作会造成什么影响我们将权值最大的那个点看作根,一个点进行一操作后,他到根节点这条路径就会最后被删除,其他的点删除顺序不变,这很显然考虑这段链,一定是从原来的最大值那一头删到当前最大值这一头,那我们就把新的最大值作为根,这就很像LCT了所以我们把会从下到上按顺序删除的链看成实链,那么不同链之间的影响只与链上最大值有...原创 2019-10-06 17:07:58 · 192 阅读 · 0 评论