杭州 电商设计网站建设,公司网站如何做分录,天津网站建站推广,无锡中小企业网站建设思路#xff1a;线段树维护a的差分数组的gcd#xff0c; 因为$gcd(a_1,a_2,a_3,...,a_n)gcd(a_1,a_2-a_1,a_3-a_2,...,a_n-a_{n-1})$。 原区间修改可以转化为差分数组上的两次单点修改。 因为实际计算时还需要原数#xff0c;所以用树状数组维护b的增减量。 询问时#xff…思路线段树维护a的差分数组的gcd 因为$gcd(a_1,a_2,a_3,...,a_n)gcd(a_1,a_2-a_1,a_3-a_2,...,a_n-a_{n-1})$。 原区间修改可以转化为差分数组上的两次单点修改。 因为实际计算时还需要原数所以用树状数组维护b的增减量。 询问时用这条语句即可 printf(%lld\n,abs(gcd(a[L]szszfuc::ask(L)/*左端的原数*/,segfuc::ask(1,L1,R))/*其它差分的gcd*/)); 注意长时间测试不对可以重写代码。 PSn,m不可混要时刻看题。 转载于:https://www.cnblogs.com/xzs123456/p/10476173.html