随笔分类 -  线段树

摘要:题意:长度为n的序列上有两种操作 0 ql qr 输出区间[ql,qr]和 1 ql qr v 区间[ql,qr]赋值为v 线段树懒标基础题,我用分块写了一个,在本题数据竟然跑的飞快 阅读全文
posted @ 2017-06-05 15:19 N维解析几何 阅读(244) 评论(0) 推荐(0)
摘要:线段树练手题,单点修改,区间查询,写个分块试试,分块下标用0-n-1比较好写 阅读全文
posted @ 2017-06-05 14:12 N维解析几何 阅读(206) 评论(0) 推荐(0)
摘要:题意:给n个数,每次查询[l,r]的和,然后[l,r]之间的数都会由ai变为ai^2,开始计数器为0,每次在上一次的基础上,为计数器+sum[l,r],答案%9223372034707292160 分析:猜想一个数的平方%p应该会很快进入静止,即ai^2%p=ai,这样这个数就不会更新,用java跑 阅读全文
posted @ 2017-04-29 22:22 N维解析几何 阅读(222) 评论(0) 推荐(0)
摘要:#include using namespace std; const int maxn=1e5+5; char s[maxn]; int pre[maxn],Min[maxn>1; build(rt=r)return Min[rt]; int mid=(l+r)>>1; int res=INT_MAX; if(qlmid)res=min(res,query(rtv)swap(u,... 阅读全文
posted @ 2017-04-07 15:02 N维解析几何 阅读(232) 评论(0) 推荐(0)
摘要:有n(1e6)个点,m(1e5)次询问,最多有30种颜色,有两种操作 p a b c,把区间a,b都变成颜色c,Q a b,查询a b间的颜色,并且按照值大小输出,初始所有点的颜色都是2 分析:线段树维护区间,因为最多有30种颜色,可以用30位的0/1表示该颜色是否存在,然后编码为数就好了,加个懒标 阅读全文
posted @ 2016-08-25 13:39 N维解析几何 阅读(159) 评论(0) 推荐(0)
摘要:题意:r*c的矩阵上,初始全部为0,有3中操作,子矩阵全部增加v,子矩阵值修改为v,查询子矩阵的最大值,最小值,和 分析:因为有setv和addv两种操作,那么需要开两个数组记录这个值,每次需要用到一个节点的儿子,那么就把该节点的setv,addv信息推过去,并且setv的优先级要高于addv,不过 阅读全文
posted @ 2016-08-05 18:42 N维解析几何 阅读(228) 评论(0) 推荐(0)
摘要:题意:给出n个数,0<=k<=n-1,每次将第一个数放到最后,求最小的逆序数 分析:每次将开头的数num[i]放到最后,后面比num[i]小的数有num[i]个,所以减少num[i]个逆序数对,num[i[放到最后,前面比它大的数有n-1-num[i]个,所以每次操作后,当前的逆序数ans+n-2* 阅读全文
posted @ 2015-09-01 19:59 N维解析几何 阅读(163) 评论(0) 推荐(0)