根據crash的數字**,很容易可以將式子化簡為
\[\begin ans &= \sum\limits_^n \sum\limits_ ij(i, j) \\ &= \sum\limits_^n d^3 \sum\limits_^\right\rfloor} \mu(k) k^2 \left( \sum\limits_^\right\rfloor} i \right)^2 \end
\]感覺 \(d, k\) 放在一起式子無法繼續化簡,主要是有 \(kd\) 存在,故令 \(t = kd\) ,則有
\[ans = \sum\limits_^n \left( \sum\limits_^\right\rfloor} i \right)^2 t^2 \sum\limits_ d \mu(\frac)
\]那麼考慮整除分塊,現在需要處理的是後半部分
通過觀察(看題解)可以發現, \(\sum\limits_ d \mu(\frac)\) 可以看成 \(\mu * id\) ,故可替換成 \(\phi(t)\) ,則有
\[ans = \sum\limits_^n \left( \sum\limits_^\right\rfloor} i \right)^2 t^2 \phi(t)
\]現在考慮將 \(t^2 \phi(t)\) 部分用杜教篩解決
\[h(n) = \sum\limits_ d^2 \phi(d) g(\frac)
\]為了消除 \(d^2\) ,令 \(g(\frac) = n^2\) ,則有
\[h(n) = n^3
\]故得
\[s(n) = \sum\limits_^n i^3 - \sum\limits_^n d^2 s(\left\lfloor\frac\right\rfloor)
\]又(通過看題解)有乙個知識點
\[\sum\limits_^n i^3 = \left( \sum\limits_^n i \right)
\]那麼就可以直接杜教篩了
至於複雜度,將最外圍的整除分塊與杜教篩看為一體,故複雜度為 \(o (n^})\)
#include #include #include #include using namespace std;
typedef long long ll;
const int maxn = 6e06 + 10;
ll mod, n;
ll power (ll x, ll p)
return cnt;
}ll inv2, inv6;
int prime[maxn];
int vis[maxn]= ;
int pcnt = 0;
ll phi[maxn]= ;
ll sumphi[maxn]= ;
int max = 6e06;
void linear_sieve ()
for (int j = 1; j <= pcnt && i * prime[j] <= max; j ++)
phi[i * prime[j]] = phi[i] * 1ll * (prime[j] - 1) % mod;
} }for (int i = 1; i <= max; i ++)
sumphi[i] = (sumphi[i - 1] + 1ll * i % mod * 1ll * i % mod * phi[i] % mod) % mod;
}tr1::unordered_mapmaphi;
inline ll sqr (ll x)
inline ll eqm (ll n)
inline ll oseqm (ll n)
ll phi_sieve (ll n)
return maphi[n] = total;
}ll solve ()
return ans;
}int main ()
/*998244353 2000
*//*
1000000007 9786510294
*/
洛谷3768 簡單的數學題 題解
題面來自洛谷,因為沒用markdown所以直接截的圖。剩餘的圖是我用markdown寫完然後截的圖。參考洛谷第一篇題解。這個式子直觀感受就需要莫比烏斯反演,大致的過程參考 bzoj2693 jzptab 那麼跳過暴力推式子,我們能夠得到 如果你疑問為什麼是miu k d 而不是miu d 其實二者皆...
洛谷 P3768 簡單的數學題
化簡一下式子,就是 sum ncalc d d 2 varphi d 其中 calc d frac frac 1 2 frac 2 可以對calc d 做整除分塊,那麼要求 d 2 varphi d 的字首和 看一眼資料範圍,大概要杜教篩 湊了一會,發現令 f d d 2 varphi d g d ...
洛谷比賽數學題 1
zlh秒的題,我根本不會,出題人欽點此題提高 想來我要爆零了。題面 這題n,a都巨大無比,所以演算法要盡量往k身上靠,先推一波式子 把這裡sigma內的東西拆開得到 第k此項係數c k,k 肯定是1,消去,再換一下i,j列舉順序 這裡就出現了和原式很相似的東西,設乙個二元函式a 剛剛那個式子變為 這...