題目傳送門
題目大意:
說得很清楚了我就不轉述了。
思考過程:
這是一道神坑題,2∗
1092 ∗10
9的資料範圍,連o(
n)o (n
)的做法都會超時,也沒辦法二分答案,感覺根本不可做。(我自己做的時候也沒想出來,看了題解才恍然大悟)
首先我們需要了解乙個小學奧賽的定理:乙個正整數的因數個數,等於所有質因子的指數加一相乘。(證明要用到唯一分解定理)
還有乙個顯而易見的推論:因數個數相同的,數值越小越優(2*2*5=20優於2*5*5=50)
然後我們開始觀察質數乘積的特點,就可以驚訝地發現:2∗
3∗5∗
7∗11∗
13∗17∗
19∗23∗
29=6469693230
>2∗
1092 ∗3
∗5∗7
∗11∗13
∗17∗19
∗23∗29
=6469693230
>2∗
109
,結合上面兩條定理,我們就會知道最優解一定只包含前10個質數。10個!只有10個!然後我們就可以通過爆搜完美解決這道題了。
具體做法:
1.打出前十個質數的表
2.爆搜(注意開long long)
**:
#include
using
namespace
std;
int prime[11]=;
long
long n,ans,all;
int s[20];
void dfs(int x,long
long sum,long
long mul)
}int main()
洛谷 P1463 HAOI2007 反素數ant
對於任何正整數x,其約數的個數記作g x 例如g 1 1 g 6 4。如果某個正整數x滿足 g x g i 0現在給定乙個數n,你能求出不超過n的最大的反質數麼?輸入格式 乙個數n 1 n 2,000,000,000 輸出格式 不超過n的最大的反質數。輸入樣例 1 1000 輸出樣例 1 840意思...
洛谷P1463 反素數
對於任何正整數x,其約數的個數記作g x 例如g 1 1 g 6 4。如果某個正整數x滿足 g x g i 0現在給定乙個數n,你能求出不超過n的最大的反質數麼?乙個數n 1 n 2,000,000,000 不超過n的最大的反質數。輸入 1 1000輸出 1 840思路 菜雞第一次學習反素數,碼點字...
洛谷P1463 反素數
題目大意 給定 n 2e9 求不超過 n 的最大反素數。題解 引理1 不超過 2e9 的數的質因子分解中,最多有 10 個不同的質因子,且各個質因子的指數和不超過30。引理2 題目要求的最大反素數,實際上是求不超過 n 的數中因子數最多的數的集合中最小的那個數。引理3 通過引理 2 以及交換證明法可...