题目链接:http://poj.org/problem?id=3468 区间更新,区间求和。 ...
分类:
其他好文 时间:
2017-03-26 00:58:40
阅读次数:
210
题意:求区间[a,b]的莫比乌斯函数µ之和。 a,b<=10^11 题解:很容易把区间求和改为求前缀和并求差,即要求考虑化简 莫比乌斯函数存在一个性质,也就是$\sum_{d|n}^{ } \mu(d)= 1$,那么$\sum_{i=1}^{n}\sum_{d|n}^{ } \mu(d)= 1$ 这 ...
分类:
其他好文 时间:
2017-03-25 16:49:36
阅读次数:
353
数列的单点修改、区间求和 树状数组或线段树入门题 1 #include<stdio.h> 2 #include<string.h> 3 4 int c[50005],N; 5 6 void add(int x,int a){ 7 while(x<=N){ 8 c[x]+=a; 9 x+=(x&-x) ...
分类:
编程语言 时间:
2017-03-19 10:59:59
阅读次数:
196
【前言】 作为一个什么数据结构都不会只会CDQ分治和分块的蒟蒻,面对区间加&区间求和这么难的问题,怎么可能会写线段树呢 于是,用CDQ分治解决区间加&区间求和这篇习作应运而生 【Part.I】区间加&区间求和的数据结构做法 【一】线段树 裸题... 1141ms #include <iostream ...
分类:
其他好文 时间:
2017-03-18 00:45:49
阅读次数:
237
题意: 给一长度为n的序列,维护三个操作:区间开根,区间加,区间求和。 解法: 注意到本题关键在于区间开根: 对于一个数字,只要进行$O(loglogT)$次开根即会变为1。 考虑线段树,对于线段数上的点维护$maxv$,$minv$。 对于$[\sqrt{maxv}] = [\sqrt{minv} ...
分类:
其他好文 时间:
2017-03-17 19:36:11
阅读次数:
196
Problem Description The inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that satisfy i < j and ai > aj.For ...
分类:
其他好文 时间:
2017-03-10 23:41:29
阅读次数:
229
Finally the Great Magical Lamp was in Aladdin's hand. Now he wanted to return home. But he didn't want to take any help from the Genie because he thou ...
分类:
其他好文 时间:
2017-01-31 18:32:58
阅读次数:
244
http://uoj.ac/problem/228 (题目链接) 题意 给出一个序列,维护区间加法,区间开根,区间求和 Solution 线段树。考虑区间开根怎么做。当区间的最大值与最小值相等时,我们直接对整个区间开根。最坏情况下,一次开根的复杂度最坏是${O(nlogn)}$的,然而每次开根可以迅 ...
分类:
其他好文 时间:
2017-01-29 10:57:50
阅读次数:
260
题目链接 线段树区间求和问题,维护一个最大值一个最小值即可,线段树要用C++交才能过。 注意这道题不是求三个数的最大值最小值,是求k个的。 还有一种做法是单调队列,耗时更少。 ...
第一道整体二分,因为只需要知道每个询问区间中比mid大的数有多少个,就可以直接用线段树区间加,区间求和了。 ...
分类:
其他好文 时间:
2016-12-10 19:10:38
阅读次数:
331