![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 83
Luowaterbi
Lazy, Stupid Trash
展开
-
CF1042D - Petya and Array
题目:求满足区间和小于t的区间数量。题解:区间的数量可以转换成固定右端点,求满足条件的左端点的个数。满足条件的区间[l+1,r][l+1,r][l+1,r]:sum[r]−sum[l]<tsum[r]−t<sum[l]sum[r]-sum[l]<t\\sum[r]-t<sum[l]sum[r]−sum[l]<tsum[r]−t<sum[l]会发现这是一个关于sumsumsum的单点修改(增加),区间(前缀)查询的问题。可以选择线段树、树状数组等方法解决。原创 2021-04-09 01:33:07 · 216 阅读 · 0 评论 -
BZOJ1901 ZOJ2112 Dynamic Rankings
题意:单点修改,区间K大题解不会主席树的我,用的是根据值域的整体分治。对于修改,可以拆成两个操作,一个是撤销,一个是增加。一共是三种操作op=-1时,代表撤销,x代表位置;op=0时,代表增加,在x位置插入y;op>0时,代表查询,在[x,y]区间内第z大。(x=l,y=r,z=k)再根据值域分治的时候,当op=0且q[i].y<=mid时,就正常插入。但注意此时不管q[i].y的大小,都要a[q[i].x]=i,存一下实际序列的q[i].x位是q[i]。原创 2020-10-10 19:25:21 · 131 阅读 · 0 评论 -
BZOJ2724 蒲公英
法一:分块暴力维护unique去重的时候剩余个数为unique-num-1!!!!!!!!!!因为这个检查了好久!!!!!!!!#include <cstdio>#include <vector>#include <cmath>#include <algorithm>using namespace std;const int N=4e4+5;typedef double db;int a[N],cnt[N][1005],num[N.原创 2020-09-18 20:29:45 · 131 阅读 · 0 评论