Convolution(2021牛客暑期多校训练营4)
Convolution
定義a⊕b=a×bgcd?(a,b)2a \oplus b = \frac{a \times b}{\gcd(a, b) ^ 2}a⊕b=gcd(a,b)2a×b?,bm=∑i=1n∑j=1nai×jc[i⊕j=m]b_m = \sum\limits_{i = 1} ^{n} \sum\limits_{j = 1} ^{n}a_i \times j ^ c [i \oplus j = m]bm?=i=1∑n?j=1∑n?ai?×jc[i⊕j=m],我們要求b1⊕b2⊕?⊕bnb_1 \oplus b_2 \oplus \dots \oplus b_nb1?⊕b2?⊕?⊕bn?。
因為a⊕ba \oplus ba⊕b的性質,我們可以考慮枚舉agcd?(a,b),bgcd?(a,b)\frac{a}{\gcd(a, b)}, \frac{\gcd(a, b)}gcd(a,b)a?,gcd(a,b)b?,設其為a′,b′a', b'a′,b′,則有gcd?(a′,b′)\gcd(a', b')gcd(a′,b′)互質,
bm=∑i=1n∑j=1n[i×j=mgcd?(i,j)=1]∑d=1min(ni,nj)(aid(jd)c)∑i=1n∑j=1n[i×j=mgcd?(i,j)=1]jc∑d=1min(ni,nj)aiddc設f(i,n)=∑d=1naiddcb_m = \sum_{i = 1} ^{n} \sum_{j = 1} ^{n}[i \times j = m\ \gcd(i, j) = 1] \sum_{d = 1} ^{min(\frac{n}{i}, \frac{n}{j})} (a_{id} (jd) ^ c)\\ \sum_{i = 1} ^{n} \sum_{j = 1} ^{n} [i \times j = m \ \gcd(i, j) = 1] j ^ c \sum_{d = 1} ^{min(\frac{n}{i}, \frac{n}{j})} a_{id} d ^ c\\ 設f(i, n) = \sum_{d = 1} ^{n} a_{id} d ^ c\\ bm?=i=1∑n?j=1∑n?[i×j=m?gcd(i,j)=1]d=1∑min(in?,jn?)?(aid?(jd)c)i=1∑n?j=1∑n?[i×j=m?gcd(i,j)=1]jcd=1∑min(in?,jn?)?aid?dc設f(i,n)=d=1∑n?aid?dc
容易發現min(ni,nj)min(\frac{n}{i}, \frac{n}{j})min(in?,jn?),如果考慮枚舉iii,則可以直接處理出f(i,n)f(i, n)f(i,n),而且整體復雜度還是不變的。
總結
以上是生活随笔為你收集整理的Convolution(2021牛客暑期多校训练营4)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Three.js(十四)—— 模型文件加
- 下一篇: 【数学与算法】贝塞尔(Bézier)曲线