• CH4302 Interval GCD


    Lemma:(gcd(a_1,a_2,cdots,a_n)=gcd(a_1,a_2-a_1,a_3-a_2,cdots,a_n-a_{n-1}))。证明显然。

    然后就可以用线段树维护数组 (a_i) 的差分数组,维护区间 (gcd),根据 Lemma,令 (g=gcd(a_{l+1}-a_l,a_{l+2}-a_{l-1},cdots,a_r-a_{r-1})),则每次查询的答案就是 (gcd(g,a_l))。其中 (a_l) 可以用一个树状数组单独维护。

    对于修改操作,就是差分数组常规操作,单点修改就行。

    然后这道题就做完了。

  • 相关阅读:
    Day 9
    Day 8
    Day 7
    Day 6
    Day 5
    Day 4
    Day 3
    Day 2
    Day 1
    解决vue-cli3不停请求 /sockjs-node/info?t= 问题
  • 原文地址:https://www.cnblogs.com/juruo-zzt/p/13866123.html
Copyright © 2020-2023  润新知