Array Elimination 运算,gcd,思维
生活随笔
收集整理的這篇文章主要介紹了
Array Elimination 运算,gcd,思维
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題意 :
- 給一序列,每次可選擇k個數(shù),讓它們都減去它們的gcd,要在任意次數(shù)后這個序列變?yōu)槿?,輸出所有可能的k
思路 :
- 考慮&運算的性質(zhì),必然是每次選擇k個相同的數(shù),才能讓這k個數(shù)全0,因此k是n的因數(shù)
- 類似地,從二進(jìn)制每位的角度,k必須是每i位上1的個數(shù)的因數(shù)
- 因此,我們統(tǒng)計每位上1的個數(shù)的gcd,然后輸出這個gcd的所有因數(shù)即可
- 特別地,當(dāng)所有元素都為0時,直接輸出1~n
- 0和任何數(shù)的gcd都是那個數(shù),所以0作為起點,且在統(tǒng)計gcd時多統(tǒng)計最高位也沒有影響
總結(jié)
以上是生活随笔為你收集整理的Array Elimination 运算,gcd,思维的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Divine Array 思维,模拟,结
- 下一篇: Frog Traveler 最短路,bf