minimal power of prime
題意:讓你把乙個數質因數分解,輸出所有質因數指數的最小值。
這個題還是挺有意思的,解題思路也比較好玩。
思路:先預處理出10000以內的素數預處理出來。對於每乙個 n ,我們先處理它10000以內的質因數,那麼剩下的質因數的指數就不可能超過4,單獨判斷即可;
為什麼不會超過4呢
當我們選出10000以內的所有質因數之後,那麼剩下的因數必然大於10000,並且都是質因數,假設它是乙個合數,那麼一定可以被分解,分解出的小於10000的質數在之前就已經被處理了,所以這個時候就不可能存在了, 而104
4}^
1044
就是1 016
10^10
16了,1 04
5}^
1045
就是1 020
10^10
20了,所以必然不會超過4;
小提示:對於4次和二次的判斷可以直接使用sqrt函式,而三次需要我們手寫乙個二分去判斷,我嘗試過使用pow函式,但是wr了,可見pow的進度還是存在問題的,相比之下sqrt就比較友好了。
#include
using namespace std;
#define ll long long
const
int n =
10000+10
;ll n, t;
ll p[n]
, prime[n]
,cnt;
void
init()
}ll slove
(ll x)
return l;
}int
main()
}if(n > p[cnt -1]
)printf
("%d\n"
,ans);}
return0;
}
2019杭電多校 HDU 6695 貪心
題解 分成兩組,其中一組最大的x 另一組最大的y 絕對值最小 題解 按照x從小到大排序,列舉最大x,比x大的都放到另一組,每處理完y記錄一下,然後從前面找到大於x和小於x的最符合的,判斷一下是否可取,然後就是很多x相等的,找乙個y最符合的 include using namespace std ty...
2019杭電多校第五場
有兩個題隊友補的,先安利一波 1005 permutation 1 hdu 6628 題意 給你乙個n和k,求n的全排列中,相鄰兩數的差值的陣列字典序第k小的排列 思路 其實就是兩個字,暴力.字典序第k小,k的範圍是n!跟10000取min,8!40320,是第乙個大於10000的數,所以當n小於等...
2019 杭電多校(第九場)
1002 rikka with cake 思維 題意給你乙個蛋糕 問你切k刀後分成多少塊 思路塊數 交點數 1 樹狀陣列維護橫線有多少條 豎線去統計 隊友 include define ll long long using namespace std struct code tree 500005 ...