1053: [HAOI2007]反素数ant

题目连接:

http://www.lydsy.com/JudgeOnline/problem.php?id=1053

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

1000

Sample Output

840

Hint

题意

题解:

首先你要知道因子个数定理,这个百度都能百度出来

然后我们就好办了,直接dfs就好了

暴力枚举因子就行

这儿有一个剪枝,如果当前素数的出现次数大于比她小的素数的出线次数,这个数显然不是最优的

当然,对于这道题,加不加这个剪枝都是可以过的,所以直接搜就好了

在camp上面有一道这道题的升级版本,也是瞎搜就好了

代码

#include<bits/stdc++.h>
using namespace std; long long pri[14]={0,2,3,5,7,11,13,17,19,23,29,31,37};
long long ans,res;
long long n;
void dfs(long long now,long long pro,long long num,long long c,long long lastc)
{
//当前取到第几个素数,当前乘积,当前除最后一个数以外的素数个数,最后一个素数个数,上一个素数的个数
//cout<<now<<" "<<pro<<" "<<num<<" "<<c<<" "<<lastc<<endl;
if(num*(c+1)==res&&pro<ans)
ans=pro;
if(num*(c+1)>res)
ans=pro,res=num*(c+1);
if(pro*pri[now]<=n)
dfs(now,pro*pri[now],num,c+1,lastc);
for(int i=now+1;i<13;i++)
if(pro*pri[i]<=n)
dfs(i,pro*pri[i],num*(c+1),1,c);
}
int main()
{
scanf("%lld",&n);
dfs(1,1,1,0,100);
printf("%lld",ans);
}

BZOJ 1053: [HAOI2007]反素数ant dfs的更多相关文章

  1. BZOJ 1053 [HAOI2007]反素数ant

    1053: [HAOI2007]反素数ant Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1948  Solved: 1094[Submit][St ...

  2. bzoj 1053: [HAOI2007]反素数ant 搜索

    1053: [HAOI2007]反素数ant Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1497  Solved: 821[Submit][Sta ...

  3. BZOJ 1053 [HAOI2007]反素数ant 神奇的约数

    本蒟蒻终于开始接触数学了...之前写的都忘了...忽然想起来某神犇在几个月前就切了FWT了... 给出三个结论: 1.1-N中的反素数是1-N中约数最多但是最小的数 2.1-N中的所有数的质因子种类不 ...

  4. bzoj 1053 [HAOI2007]反素数ant——关于质数的dfs / 打表

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1053 写了个打表程序. #include<iostream> #include& ...

  5. BZOJ 1053 [HAOI2007]反素数ant(约数个数)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1053 [题目大意] 于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6 ...

  6. 【BZOJ】1053: [HAOI2007]反素数ant

    1053: [HAOI2007]反素数ant Description: g(x)表示x的约数个数,反素数:对于任意的i (i < x),均有g(i) < g(x),则x为反素数:现在输入不 ...

  7. 【BZOJ 1053】 1053: [HAOI2007]反素数ant (反素数)

    1053: [HAOI2007]反素数ant Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0&l ...

  8. BZOJ(8) 1053: [HAOI2007]反素数ant

    1053: [HAOI2007]反素数ant Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4118  Solved: 2453[Submit][St ...

  9. 1053: [HAOI2007]反素数ant

    1053: [HAOI2007]反素数ant Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3480  Solved: 2036[Submit][St ...

随机推荐

  1. Selenium IDE- 不同的浏览器

    Selenium IDE- 不同的浏览器 Selenium IDE脚本只能对火狐的工具Firefox插件运行测试.使用Selenium-IDE开发的测试可以对其他浏览器所保存为Selenium网络驱动 ...

  2. Steam即将正式加入人民币支付(转)

    Valve将在2015年Q4和2016年Q1加入一批新的货币结算支持,其中包括了人民币,这意味着以后玩家将无需在跳转支付平台后并通过美元结算.这对中国玩家来说是喜是忧? 本文由爱玩网整理报道,转载请保 ...

  3. PHP 解压zip文件的函数封装

    /** * zip文件解压 * * @param $zipFilePath zip文件的路径,可以不加zip文件后缀.如果其他类型的文件伪装成zip解压也会失败 * @param $directory ...

  4. android开发中遇到的bug

    这种NullPointerException这么解决啊 Activity.dispatchTouchEvent 里try catch一下 参考:http://www.eoeandroid.com/th ...

  5. leetcode—jump game

    1.题目描述 Given an array of non-negative integers, you are initially positioned at the first index of t ...

  6. navicat 或者workbench 无法连接127.0.0.1(61)的解决方法

    1.输入mysql -uroot 进入命令行模式, 2.输入"show variables like '%sock%';"查看sock文件所在位置 如: 3.配置客户端(以navi ...

  7. 麒麟OS剽窃

    今年对于我们的IT行业来说可以算是耻辱的一年. 首先是“汉芯丑闻”,上海交大研制了一个所谓的国内第一个完全拥有自主知识产 权的DSP芯片(数字信号微处理器)——“汉芯”,研制人陈进教授以此领取政府一亿 ...

  8. 配置IIS Express 7.5以允许外部访问

    默认配置文件位于:[我的文档]\IISExpress\config\applicationhost.config修改站点地址如:<binding protocol="http" ...

  9. 第二百三十一天 how can I 坚持

    哎,蛋疼的一天,一点破问题搞了一下午,还没搞利索. 他们要组织出去玩,我没有参加啊,随便找了个借口. 博客园的字体怎么变小了呢,看着好难受啊,昨天传照片传的? 睡觉.外边下着雨呢,喜欢下雨的夏天还有下 ...

  10. MySQL 5.5 服务器变量详解一(转)

    add by zhj:在MySQL5.6中对一些参数有增删改,详见http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html ...