线段树
何乐乐和何了了
冲冲冲!
展开
-
BestCoder 2nd Anniversary-1005
题目大意:有n个珍珠排成一列,每个珍珠有属于一种类型Ai,问有多少个区间,使得至少有一种类型的珍珠个数恰好为X个? 题解:固定左端点l,每种类型的珍珠的贡献是一个区间,我们只需要求解这些区间的并即可。向右移动左端点,移动1格时,只有一个类型改变,修改相应的区间,再求并即可。 区间操作用线段树可求解。 #include #include #include #include #inclu原创 2016-07-18 11:39:00 · 328 阅读 · 0 评论 -
2016 ACM/ICPC Dalian Online-1008 Function
题意:给定长度为n的数组A和Q个询问。询问[L,R],求A(L)%A(L+1)%A(L+2)%……%A(R) 。其中 1≤N,Q≤100000 一个性质:大数对小数取余,结果小于大数的一半。所以每个大数最多对小数取log(ai)次 题解一:转自点击打开链接 已知mod操作类似gcd操作,结果是单调的,只会小不会大。 把所有询问预存,按左边界排序,当前左边界存在于询问时,加入优先队列,对于原创 2016-09-13 21:31:35 · 391 阅读 · 0 评论 -
cf#373div1-C
题意:长度为n(n 1.询问[l,r] 之间f(ai)的和; 2.[l,r]之间的ai均增加v 。 题解:区间操作用到线段树,线段树维护矩阵。f(ai)的计算用到矩阵乘法,f(ai+v)即为两矩阵相乘 #include #include #include #include #include #include #include #include using namespac原创 2016-09-24 22:12:40 · 422 阅读 · 0 评论