[POI2002][HAOI2007]反素數 數論 搜尋 好題
Code:
#include<cstdio> #include<algorithm> using namespace std; typedef long long ll; int prime[]={0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,51,53}; ll n, maxn; int cur; void dfs(int dep,ll m,int t,int p){ //上一個指數 if(dep==12){ if(t>=cur){ if(t>cur) maxn=m, cur=t; else if(m<maxn) maxn=m; } return; } ll cnt=1; for(int i=0;i<=p;++i){ dfs(dep+1,m*cnt,t*(i+1),i); cnt*=prime[dep]; if(m*cnt>n) break; } } int main(){ //freopen("input.in","r",stdin); scanf("%lld",&n); dfs(1,1,1,30); printf("%lld",maxn); return 0; }
相關推薦
[POI2002][HAOI2007]反素數 數論 搜尋 好題
Code: #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; int prime[]={0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,
[POI2002][HAOI2007]反素數 數論 搜索 好題
指數 input include name rime pre 好題 turn long long Code: #include<cstdio> #include<algorithm> using namespace std; typedef lon
P1463 [POI2002][HAOI2007]反素數
pragma 唯一分解定理 scan 優化 個數 c++ printf line 不知道 打表出奇跡!!! 這道題暴力當然能做,但是\(n==2 \times 10 ^9\)就不允許暴力了。 讓我們打表出奇跡!!! 首先先了解一下如何有效率地算出一個數的約數個數: 最暴力的
[POI2002][HAOI2007]反素數
long 分解 學習 cstring \n 計算 ora ack 我們 題目描述 對於任何正整數x,其約數的個數記作g(x)。例如g(1)=1、g(6)=4。如果某個正整數x滿足:g(x)>g(i) 0<i<x,則稱x為反質數。例如,整數1,2,4,
bzoj:1053 [POI2002][HAOI2007]反素數
這題的本質就是求約數最多的數最小是多少。 就直接列舉每個質數的指數就行了 然後前10個質數的乘積是大於2*10^9,然後加兩個約束就行了 約束 1、第i+1個質數的指數一定不會比第i個質數的
【bzoj1053】[HAOI2007]反素數ant 搜尋
Description 對於任何正整數x,其約數的個數記作g(x)。例如g(1)=1、g(6)=4。如果某個正整數x滿足:g(x)>g(i) 0<i<x ,則稱x為反質數。例如,整
【BZOJ】1053: [HAOI2007]反素數ant-搜尋
題解 打表是不可能的(這輩子都不可能的)。 搜尋是必須的。考慮如何高效地剪枝。 設x=∏i=1npiki(pi∈P)x=\prod \limits_{i=1}^n p_i^{k_i}(p_i\in
Antiprime [POI2002][HAOI2007]反素數
寫一道最近寫的數論題~~ #include<cstdio> #include<algorithm> #include<cmath> #define ll long long using namespace std; int n; ll ans,cnt;//
[POI2002][HAOI2007]反素數(Antiprime)
鏈接 sin ant int strong 十個 mes poi org 題目鏈接 這道題需要用到整數唯一分解定理以及約數個數的計算公式。這裏我就不再闡述了。 公式可以看出,只有指數影響約數個數,那麽在唯一分解出的乘式中,指數放置的任何位置都是等價的。(即 23*34*
洛谷 P1463、POI2002、HAOI2007 反素數
最大 ext 離開 out nbsp 搜索剪枝 cor 理由 void 想打表的自行離開 題目描述 對於任何正整數x,其約數的個數記作g(x)。例如g(1)=1、g(6)=4。 如果某個正整數x滿足:g(x)>g(i) 0<i<x,則稱x為反質數。例如,整
bzoj1053 [HAOI2007]反素數ant
mes inpu discuss 只需要 得到 反素數 ++ 現在 class 1053: [HAOI2007]反素數ant Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3410 Solved: 1989[Submit
BZOJ 1053 HAOI2007 反素數
因子 scan logs 原理 scanf cnblogs max 說明 code 1.一個數的約數個數=所有素因子的冪次+1的乘積這個直觀的理解就是 2^x*3^y 我能拆出來 2^0*3^02^0*3^12^0*3^2……2^1*3^0
BZOJ——T 1053: [HAOI2007]反素數ant
pri input 一個 fin ext 約數 hint tex lan http://www.lydsy.com/JudgeOnline/problem.php?id=1053 Description 對於任何正整數x,其約數的個數記作g(x)。例如g(
POJ 3764 The xor-longest Path ( 字典樹求異或最值 && 異或自反性質 && 好題好思想)
strong span -s node poj printf return blog pre 題意 : 給出一顆無向邊構成是樹,每一條邊都有一個邊權,叫你選出一條路,使得此路所有的邊的異或值最大。 分析 : 暴力是不可能暴力的,這輩子不可能暴力,那麽來冷靜分析一下如何去
【BZOJ 1053】[HAOI2007]反素數ant
pos clu stdin www. n) clas IT href 結束 【鏈接】 我是鏈接,點我呀:) 【題意】 在這裏輸入題意 【題解】 用小的質數去湊那個數字。 顯然比用大質數去湊劃算。 因為 對於\(x = p1^{q1}*p2^{q2}*...*
luoguP1463 [HAOI2007]反素數
cor 但是 span define lis radius div int 輸出 題目描述 對於任何正整數x,其約數的個數記作g(x)。例如g(1)=1、g(6)=4。 如果某個正整數x滿足:g(x)>g(i) 0<i<x,則稱x為反質數。例如,整數1
1053: [HAOI2007]反素數ant
void class include 正是 discuss 包括 times mit sca Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4124 Solved: 2456[Submit][Status][Discuss
【BZOJ1053】[HAOI2007]反素數(搜索)
.org ++i name turn spa oid href () pre 【BZOJ1053】[HAOI2007]反素數(搜索) 題面 BZOJ 洛谷 題解 大力猜一下用不了幾個質因子,那麽隨便爆搜一下就好了。 #include<iostream> #inc
【cqbzoj2468】反素數 (終極大水題)
終極大水題 時間限制: 1 Sec 記憶體限制: 128 MB 題目描述 對於任何正整數x,其約數的個數記作g (x)。例如g(1)=1, g(6)=40 如果某個正整數x滿足:g (x)
POJ 1011 最小的木棒 (dfs+剪枝|| 搜尋好題)
Description 喬治拿來一組等長的木棒,將它們隨機地砍斷,使得每一節木棍的長度都不超過50個長度單位。然後他又想把這些木棍恢復到為裁截前的狀態,但忘記了初始時有多少木棒以及木棒的初始長度。請你設計一個程式,幫助喬治計算木棒的可能最小長度。每一節木棍的長度都用大於