bzoj1053: [HAOI2007]反素数ant
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                bzoj1053: [HAOI2007]反素数ant
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                51nod有一道類似的題。。。我至今仍然不會寫暴搜!!!
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define rep(i,s,t) for(int i=s;i<=t;i++) #define dwn(i,s,t) for(int i=s;i>=t;i--) #define clr(x,c) memset(x,c,sizeof(x)) #define ll long long const ll a[]={0,2,3,5,7,11,13,17,19,23,29,31,37}; ll ans,res,n; void dfs(ll x,ll num,ll sum,ll cnt,ll p){//printf("%d %d %d %d %d\n",x,num,sum,cnt,p);if(res==cnt*(num+1)&&ans>sum){//這里應該讓ans盡量小。 ans=sum;}if(res<cnt*(num+1)){ans=sum,res=cnt*(num+1);}if(num+1<=p&&sum*a[x]<=n) dfs(x,num+1,sum*a[x],cnt,p);rep(i,x+1,12){if(sum*a[i]<=n) dfs(i,1,sum*a[i],cnt*(num+1),num);} } int main(){scanf("%lld",&n);dfs(1,0,1,1,100);//當前數,num,當前數的乘積,約數和,前一個數的個數。printf("%lld\n",ans);return 0; }
1053: [HAOI2007]反素數ant
Time Limit:?10 Sec??Memory Limit:?162 MBSubmit:?2714??Solved:?1536
[Submit][Status][Discuss]
Description
?
對于任何正整數x,其約數的個數記作g(x)。例如g(1)=1、g(6)=4。如果某個正整數x滿足:g(x)>g(i) 0<i<x ,則稱x為反質數。例如,整數1,2,4,6等都是反質數。現在給定一個數N,你能求出不超過N的最大的反質數么 ?Input
一個數N(1<=N<=2,000,000,000)。
Output
不超過N的最大的反質數。
Sample Input
1000Sample Output
840HINT
Source
[Submit][Status][Discuss]轉載于:https://www.cnblogs.com/fighting-to-the-end/p/5859384.html
總結
以上是生活随笔為你收集整理的bzoj1053: [HAOI2007]反素数ant的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 微信小程序 | 实现活动报名登记
- 下一篇: 为什么谐振时电抗为0_44kVA/44k
