今日写了进阶指南的几个线段树例题。 什么区间gcd+区间修改啊,离散化+扫描线+线段树什么的。 虽然都是经典题,但是还是一堆bug,调来调去一天就过去了555。 下午的时候,昨晚cf的Educational div2出分了,本来卑微3题坐等掉分的,结果惊奇地发现居然还上分了。颇有当年打校赛的感觉—— ...
分类:
其他好文 时间:
2019-10-10 00:11:45
阅读次数:
97
题面 本题是一道区间最大公约数的模板题; 如果N^2暴力的话当然会超时,所以我们要发掘出区间gcd的特点; 设gcd[i]表示区间[1,i]的最大公约数; 我们可以发现,从一个点i到1之间的所有区间的gcd均满足gcd[j]=GCD(gcd[j-1],a[j]); 由于gcd的性质,所以gcd[]是 ...
分类:
其他好文 时间:
2019-08-03 16:16:19
阅读次数:
88
题意: 两个操作, 单点修改 询问一段区间是否能在至多一次修改后,使得区间$GCD$等于$X$ 题解: 正确思路; 线段树维护区间$GCD$,查询$GCD$的时候记录一共访问了多少个$GCD$不被X整除的区间即可,大于一个就NO 要注意的是,如果真的数完一整个区间,肯定会超时,因此用一个外部变量存储 ...
分类:
其他好文 时间:
2019-01-06 10:49:28
阅读次数:
188
传送门 分析 用线段树维护区间gcd,每次查询找到第一个不是x倍数的点,如果这之后还有gcd不能被x整除的区间则这个区间不合法 代码 ...
分类:
其他好文 时间:
2018-10-07 10:34:53
阅读次数:
138
"$ \Rightarrow $ 戳我进CF原题 " F. Ant colony time limit per test: 1 second memory limit per test: 256 megabytes input: standard input output: standard out ...
分类:
其他好文 时间:
2018-09-19 21:42:40
阅读次数:
155
题目链接 "Mychael vs Kid" 题解 先说说这题的由来及前身 前身 首先有一个很经典的题目: 维护区间加,查询区间$gcd$ 如果强行用线段树维护的话,区间加之后就没法直接确定当前区间的$gcd$,不可直接维护 这个时候就用到了$gcd$的一个性质: $$(a,b) = (a b,b)$ ...
分类:
其他好文 时间:
2018-05-28 21:18:12
阅读次数:
152
题目链接:hdu 5381 The sum of gcd 将查询离线处理,依照r排序,然后从左向右处理每一个A[i],碰到查询时处理。用线段树维护。每一个节点表示从[l,i]中以l为起始的区间gcd总和。所以每次改动时须要处理[1,i-1]与i的gcd值。可是由于gcd值是递减的,成log级,对于每 ...
分类:
其他好文 时间:
2018-03-27 21:07:25
阅读次数:
217
题目传送门 题目大意:Bash喜欢对数列进行操作。第一种操作是询问l~r区间内的gcd值是否几乎为x,几乎为表示能否至多修改一个数达到。第二种操作是将ai修改为x。总共Q个询问,N个数。 Solution:简单来说,就是对区间gcd值的维护,使用线段树实现。 code: ...
分类:
其他好文 时间:
2018-02-09 15:11:52
阅读次数:
157
"题目链接" 题意 给定一个长度为 $n$ 的数列 $a_1,...,a_n$ 与 $q$ 个询问 $x_1,...,x_q$,对于每个 $x_i$ 回答有多少对 $(l,r)$ 满足$\ (1\leq l\leq r\leq n)$ 且 $gcd(a_l,a_{l+1},...,a_r)=x_i$ ...
分类:
其他好文 时间:
2018-01-27 18:57:54
阅读次数:
100
首先,求x在[a,b]和y在[c,d]两区间gcd(x,y)==K的(x,y)个数,可以转化成求四次,然后容斥求 现在问题变成求[1,m]和[1,n]的(x,y)==K的个数,其实就是求[1,m/K]和[1,n/K]的(x,y)==1的个数 设F(i)=i|gcd(x,y)的(x,y)个数 f(i) ...
分类:
其他好文 时间:
2017-10-07 14:50:57
阅读次数:
113