给定长度为 $n$ 的数列,每个数都在 $[1,n]$ 间,回答 $m$ 个询问,每次给定一个区间 $[l,r]$,问其中有多少对数间存在倍数关系。 ...
分类:
编程语言 时间:
2020-09-11 14:19:51
阅读次数:
42
After inventing Turing Tree, 3xian always felt boring when solving problems about intervals, because Turing Tree could easily have the solution. As we ...
分类:
编程语言 时间:
2019-08-06 21:27:24
阅读次数:
172
Necklace HDU - 3874 Mery has a beautiful necklace. The necklace is made up of N magic balls. Each ball has a beautiful value. The balls with the same ...
分类:
编程语言 时间:
2019-05-09 18:28:04
阅读次数:
108
题目大意:有一张$n*m$的数表,第$i$行第$j$列的数是同时能整除$i,j$的所有数之和,求数表内所有不大于A的数之和 先是看错题了...接着看对题了发现不会做了...刚了大半个下午无果 看了Po姐的题解(Orzzz)才搞懂这道题,搞清楚了莫比乌斯反演的两种经典的卷积形式的不同之处 令$\sig ...
分类:
编程语言 时间:
2018-11-17 23:50:30
阅读次数:
325
题目大意:给你一个序列,求某区间出现不同的数的个数。 貌似离线树状数组是最好的解法 先把所有询问挂在它们询问的右端点上 然后从头到尾遍历这个序列,记录这个位置的值上一次出现的位置 那么,当遍历到第i位时,如果a[i]在之前出现过,就在它上一次出现的位置-1 这个操作的意义是,第i位已经有a[i]了, ...
分类:
编程语言 时间:
2018-09-24 23:20:40
阅读次数:
196
题目:https://www.nowcoder.com/acm/contest/139/J题意:给出n个数,求 [1,L],[R,n]这两个区间不同数的个数其实你只要把区间扩大一倍,就是求 [R,L+n]这个区间了方法有很多,像用离线树状数组、离线莫队、线段树、主席树等等不过听说主席树会TLE,所以 ...
分类:
其他好文 时间:
2018-07-24 19:23:33
阅读次数:
195
题目链接:Necklace 题意: 给出一串珠子,每个珠子有它的value,现在给出n(n<=5e4)个珠子的value(1<=value<=1e6),现在给出m(1<=m<=2e5)个询问,每个询问给出l和r,要求[l,r]区间内所有珠子的value(如果有相同value值的珠子则只计算一次这个珠 ...
分类:
编程语言 时间:
2018-02-02 22:01:21
阅读次数:
227
NOIP之前写过这题,先用的分块。 又采用了树状数组,离线按右端点排序,只关心最后一个出现的位置,如果有更新的则将原来的-1将新的位置+1 现在我又学了主席树,我们只要对于last(上一次的位置)建主席树,然后查询0~l-1这个区间出现的个数即可。 ...
分类:
其他好文 时间:
2018-01-23 20:24:36
阅读次数:
151
题解: 主席树,查找前y+1个,减去前x个 当然也可以树状数组+离线 细节注意处理(当h小于任何一个数和没有出现过的时候) 代码: ...
分类:
其他好文 时间:
2017-11-27 20:04:55
阅读次数:
144
树状数组+离线 按x排序,y离散化,树状数组查询,跟逆序对一样 #include<bits/stdc++.h> using namespace std; const int N = 500010; int n, m, tot, lim; vector<int> v; int ans[N], aa[N ...
分类:
其他好文 时间:
2017-07-17 23:55:36
阅读次数:
202