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

Source

Solution

  额,一些玄学证明了这个数的素因子只可能是前12个素数,搜索即可。

  。。。典型O(跑得过) 233

 #include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll p[] = {, , , , , , , , , , , };
ll n, ans, gans; void DFS(ll x, ll gx, ll id, ll cnt)
{
if(gx == gans && x < ans) ans = x;
if(gx > gans) ans = x, gans = gx;
for(int i = ; i <= cnt; i++)
if(x * p[id] <= n)
DFS(x = x * p[id], gx * (i + ), id + , i);
} int main()
{
cin >> n;
DFS(, , , );
cout << ans << endl;
return ;
}

  解释一下DFS的参数:

  x:当前计算的数为x

  gx:g(x)的值

  id:当前要枚举第id个素数

  cnt:当前第id-1个素数的次数为cnt。玄学证明了p[id]的次数一定不超过p[i](0 < i < id)的次数。

[BZOJ1053] [HAOI2007] 反素数ant (搜索)的更多相关文章

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

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

  2. bzoj1053: [HAOI2007]反素数ant

    51nod有一道类似的题...我至今仍然不会写暴搜!!! #include<cstdio> #include<cstring> #include<iostream> ...

  3. BZOJ1053 [HAOI2007]反素数ant 数论

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 传送门 - BZOJ1053 题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正 ...

  4. 【BZOJ1503】[HAOI2007]反素数ant 搜索

    结论题...网上讲的好的很多... #include <iostream> using namespace std; ]={,,,,,,,,,},num=; long long ans,n ...

  5. BZOJ1053: [HAOI2007]反素数ant(爆搜)

    Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4163  Solved: 2485[Submit][Status][Discuss] Descript ...

  6. bzoj千题计划296:bzoj1053: [HAOI2007]反素数ant

    http://www.lydsy.com/JudgeOnline/problem.php?id=1053 求n以内约数个数最多的数 #include<cstdio> using names ...

  7. 【BZOJ1053】[HAOI2007]反素数(搜索)

    [BZOJ1053][HAOI2007]反素数(搜索) 题面 BZOJ 洛谷 题解 大力猜一下用不了几个质因子,那么随便爆搜一下就好了. #include<iostream> #inclu ...

  8. 【BZOJ1053】[HAOI2007]反素数ant 暴力

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

  9. BZOJ 1053: [HAOI2007]反素数ant dfs

    1053: [HAOI2007]反素数ant 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=1053 Description 对于任何正整 ...

随机推荐

  1. POJ 1018 Communication System(贪心)

    Description We have received an order from Pizoor Communications Inc. for a special communication sy ...

  2. 置换群、Burnside引理与等价类计数问题

    置换群.Burnside引理与等价类计数问题 标签: 置换群 Burnside引理 置换 说说我对置换的理解,其实就是把一个排列变成另外一个排列.简单来说就是一一映射.而置换群就是置换的集合. 比如\ ...

  3. 洛谷P1896 [SCOI2005]互不侵犯King【状压DP】

    题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. 输入格式: 只有一行,包含两个数N,K ...

  4. C# decimal 去掉小数点后的无效0

    c#去掉小数点后的无效0 decimal d = 0.0500m; d.ToString("0.##")就出来了 也可以这样 string.Format("{0:0.## ...

  5. 【项目记录】-路灯监测 gmap.net

    需求 2016年5月,客户要求在地图上显示路灯及数据,分析数据生成报表,以便查看分析路灯情况. 选型 国外项目就不考虑国内的地图了,开始想使用google的web地图,考虑到地图上标记物过多影响性能及 ...

  6. CentOS 6安装Oracle报错解决方案

    1. Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-05-23_04-18-48AM. Please ...

  7. hihoCoder1330 数组重排

    题意 小Hi想知道,如果他每次都按照一种固定的顺序重排数组,那么最少经过几次重排之后数组会恢复初始的顺序? 具体来讲,给定一个1 - N 的排列 P,小Hi每次重排都是把第 i 个元素放到第 Pi个位 ...

  8. hdu1006 Tick and Tick

    原题链接 Tick and Tick 题意 计算时针.分针.秒针24小时之内三个指针之间相差大于等于n度一天内所占百分比. 思路 每隔12小时时针.分针.秒针全部指向0,那么只需要计算12小时内的百分 ...

  9. mysql无法启动的结果问题解决

    mac 上homebrew 安装的mysql,已经用了很长时间都没什么问题,今天 ERROR! The server quit without updating PID file (/usr/loca ...

  10. 3.3.3 PCI设备对可Cache的存储器空间进行DMA读写

    PCI设备向"可Cache的存储器空间"进行读操作的过程相对简单.对于x86处理器或者PowerPC处理器,如果访问的数据在Cache中命中,CPU会通知FSB总线,PCI设备所访 ...