給出乙個數\(x\),將它分解質因數成\(\prod p_i^(a_i>0)\),求\(\min(a_i)\)。
\(t\le 10^5\)
\(x\le 10^\)
pollard-rho顯然過不去。
先將\(4000\)以內的質數都暴力做一遍,如果遇到了\(x\)的因數計算一下。
對於剩餘的質數,\(ans\)不會大於等於\(5\),因為\(4000^5>10^\)。
那麼\(ans\in \\),分別判一下答案是不是完全\(ans\)次方數即可。
可以證明沒有\(ans\ge 2\)並且\(x\)不是完全\(ans\)次方數的情況:發現這個情況下,\(x\)至少可以表示成\(p_1^2p_2^3\)的形式。這時候已經超過了範圍。
時間複雜度\(o(t|4000以內質數|)\)
using namespace std;
#include #include #include #include #define ll long long
#define n 4005
ll n;
int p[n],np;
bool inp[n];
ll qpow(ll x,ll y)
bool check(ll n,int k)
void initp(int n) }}
ll m;
bool part1()
} return n==1;
}ll part2()
int main()
m=100;
if (!part1())
m=min(m,part2());
printf("%lld\n",m);
} return 0;
}
牛客挑戰賽46 B最小的指數
傳送門題意 1e6次詢問,每次給你乙個1e18的數問你質因數分解後的所有質因數中的指數冪中最小的是多少。題解 將4000以下的素數預處理,然後分解n,若剩餘值等於1說明已完全分解,若大於1,也易知其剩餘最小質因數指數冪不超過4,便如下分類討論。1.若為4,則必為x 4 n 2.若為3,則必為x 3 ...
牛客挑戰賽58
前i 1的二進位制相等,a的前n個數的前i 1位可以亂取,b的前n 1個數前i 1位也可以亂取,因為b的第n個數的前i 1異或可為任意值,所以sum1 2 i 1 n 2 i 1 n 1 2 i 1 2n 1 a的第i位為1且b的第i位為0 只要a的n數第i位中有乙個不為0的,a的第i位不為0,b的...
牛客挑戰賽38 B 子串翻轉
題目鏈結 思路 用乙個大小為m雙端佇列的雙端佇列 維護一下當前視窗的串是啥。翻轉就是把標記變一下。根據標記進行字元的進出。include using namespace std typedef long long ll const int n 3e6 10 define fi first defin...