数学公式渲染问题

显然,yiy_i 加上 cc 可以看成是 xix_i 减去 cc

所以就变成了 xix_i 加上一个整数(可正可负)。

现将 xx 环拆成一个长度为 2n2n 的序列 aa(复制一遍),把 yy 环拆成一个长度为 nn 的序列 bb

那么旋转操作就可以看成是 bb 序列与 aa 序列中每一个长度为 nn 的子串匹配求值。

也就是说,求这个东西的最小值:j=0n1(ai+jbj+c)2\sum_{j=0}^{n-1}(a_{i+j}-b_j+c)^20i<n0\leq i< n)。

接下来推式子:(设 xx 环的和是 sumasumayy 环的和是 sumbsumbxx 环的平方和是 powapowayy 环的平方和是 powapowa

mini=0n1j=0n1(ai+jbj+c)2=mini=0n1j=0n1(ai+jbj)2+c2+2(ai+jbj)c=mini=0n1[nc2+j=0n1(ai+jbj)2+2cj=0n1(ai+jbj)]=mini=0n1[nc2+j=0n1(ai+j2+bj22ai+jbj)+2c(j=0n1ai+jj=0n1bj)]=mini=0n1(nc2+powa+powb2j=0n1ai+jbj+2c(sumasumb))\begin{aligned} &\min_{i=0}^{n-1} \sum_{j=0}^{n-1}(a_{i+j}-b_j+c)^2\\ =&\min_{i=0}^{n-1}\sum_{j=0}^{n-1}(a_{i+j}-b_j)^2+c^2+2(a_{i+j}-b_j)c\\ =&\min_{i=0}^{n-1} [nc^2+\sum_{j=0}^{n-1}(a_{i+j}-b_j)^2+2c\sum_{j=0}^{n-1}(a_{i+j}-b_j)]\\ =&\min_{i=0}^{n-1} [nc^2+\sum_{j=0}^{n-1}(a_{i+j}^2+b_j^2-2a_{i+j}b_j)+2c(\sum_{j=0}^{n-1} a_{i+j}-\sum_{j=0}^{n-1} b_j)]\\ =&\min_{i=0}^{n-1} (nc^2+powa+powb-2\sum_{j=0}^{n-1}a_{i+j}b_j+2c(suma-sumb)) \end{aligned}

发现 powa+powbpowa+powb 是定值,而和 cc 有关的 nc2+2c(sumasumb)nc^2+2c(suma-sumb) 可以用二次函数最值 O(1)O(1) 求,也就是说我们只需要求 2j=0n1ai+jbj-2\sum_{j=0}^{n-1}a_{i+j}b_j

posted @ 2021-02-11 15:37  itnews  阅读(117)  评论(0)    收藏  举报