P2231 [HNOI2002]跳蚤(裴蜀定理/莫比乌斯反演)
生活随笔
收集整理的這篇文章主要介紹了
P2231 [HNOI2002]跳蚤(裴蜀定理/莫比乌斯反演)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
P2231 [HNOI2002]跳蚤
給定一個長度為n+1的一列數,第n+1位為m,前n位小于m
求解使得他n+1個數的加減可以湊出1的方案數
首先可以湊出1,這顯然是裴蜀定理,推一推就發現他要求所有數的gcd為1
那么對于要求gcd恰為x的計數問題,我們常見套路就是欽定所有數是x的倍數,然后利用莫比烏斯反演來求解。
但是注意這里指定了一個元素m,那么可以發現當x不是m的因子時,f[x]=0,所以我們可以改寫一下這個式子。得到:
g(1)=∑d∣m(md)nμ(d)g(1)=\sum_{d|m}(\frac{m}ozvdkddzhkzd)^n\mu(d)g(1)=d∣m∑?(dm?)nμ(d)
然后我們發現它是一個卷積的形式,我們考慮怎么求解,如果暴力求就是O(m)的,但是我們巧妙地轉化一下,就可以發現對于μ來說如果有平方因子就是0,所以我們只需要枚舉質因子的子集即可。O(m+2w(m)log?n)O(\sqrt{m}+2^{w(m)}\log n)O(m?+2w(m)logn)
這啟示我們遇到含μ和一個容易計算的式子的時候應該暴力,這告訴我們對于特殊的卷積,有不同的求解方法。
然后其實這個式子還可以推一推,然后得到一個類似φ的形式。
總結
以上是生活随笔為你收集整理的P2231 [HNOI2002]跳蚤(裴蜀定理/莫比乌斯反演)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 老坛酸菜做法 老坛酸菜做法是什么
- 下一篇: [2020多校A层11.22]party