51nod 1060 最复杂的数 反素数
第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 100)
第2 - T + 1行:T个数,表示需要计算的n。(1 <= n <= 10^18)
共T行,每行2个数用空格分开,第1个数是答案,第2个数是约数的数量。
5
1
10
100
1000
10000
1 1
6 4
60 12
840 32
7560 64
思路:反素数深搜;
acdream反素数:反素数深度分析超时原因:同样的道理,如果,那么必有
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define esp 0.00000000001
#define pi 4*atan(1)
const int N=1e5+,M=2e7+,inf=1e9+,mod=1e9+;
const ll INF=1e18;
int p[N]={,,,,,,,,,,,,,,,};
ll x;
ll num,hh;
void dfs(int pos,ll ans,ll sum,int pre)
{
if(pos>)
return;
if(hh<sum)
{
num=ans;
hh=sum;
}
else if(hh==sum)
num=min(ans,num);
for(int i=;i<=pre;i++)
{
if(x/ans<p[pos])break;
dfs(pos+,ans*=p[pos],sum*(i+),i);
}
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
scanf("%lld",&x);
num=INF;
hh=;
dfs(,,,);
printf("%lld %lld\n",num,hh);
}
return ;
}
51nod 1060 最复杂的数 反素数的更多相关文章
- 1060 最复杂的数(反素数玄学dfs)
		1060 最复杂的数 题目来源: Ural 1748 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 把一个数的约数个数定义为该数的复杂程度,给出一个n,求1-n中 ... 
- 51nod 1060 最复杂的数(数论,反素数)
		题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1060 题解:可以去学习一下反素数. #include < ... 
- 51nod 1060 最复杂的数
		把一个数的约数个数定义为该数的复杂程度,给出一个n,求1-n中复杂程度最高的那个数. 例如:12的约数为:1 2 3 4 6 12,共6个数,所以12的复杂程度是6.如果有多个数复杂度相等,输出最 ... 
- bzoj1053: [HAOI2007]反素数ant
		51nod有一道类似的题...我至今仍然不会写暴搜!!! #include<cstdio> #include<cstring> #include<iostream> ... 
- 51nod 1061 最复杂的数V2
		题目链接 51nod 1061 题面简述 求\([1, n]\)中约数个数最多的数. \(n \le 10^{200}\) 题解 首先,答案一定是一个反素数. 什么是反素数? 一个正整数\(x\)是反 ... 
- 51nod1060(反素数&dfs)
		题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1060 题意:中文题诶- 思路: 这里用到了反素数的性质: 对 ... 
- 【POJ2886】Who Gets the Most Candies?-线段树+反素数
		Time Limit: 5000MS Memory Limit: 131072K Case Time Limit: 2000MS Description N children are sitting ... 
- Who Gets the Most Candies?(线段树 + 反素数 )
		Who Gets the Most Candies? Time Limit:5000MS Memory Limit:131072KB 64bit IO Format:%I64d &am ... 
- ZOJ-2562 More Divisors 反素数
		题意:给定一个数N,求小于等于N的所有数当中,约数最多的一个数,如果存在多个这样的数,输出其中最大的一个. 分析:反素数定义:对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4 ... 
随机推荐
- 从网上搜索到的一些关于pcap源代码,入门级的
			/*pcap_1.c*/ #include <stdio.h>#include <stdlib.h>#include <pcap.h> /* 如果没有pcap的系 ... 
- ASP.NET通过代码给TextBox添加事件(点击显示日历)
			private void BindDate() { tbApplyStartDate.Attributes.Add("onclick", "new Calendar(). ... 
- IOS崩溃 异常处理(NSSetUncaughtExceptionHandler)
			iOS已发布应用中对异常信息捕获和处理 代码下载地址:http://download.csdn.net/detail/daiyelang/6740205 iOS开发中我们会遇到程序抛出异常退出的情况, ... 
- element-UI的操作步骤steps每一项添加事件,比如click,hover
			简单来说,只添加click 和css :hover就好了 一.组件里 <el-steps :space="200" :active="1" finish- ... 
- velocity 遍历EventHandler Iterator
			EventHandlerUtil 类的 iterateOverEventHandlers方法 for (Iterator i = handlerIterator; i.hasNext();){ Eve ... 
- Python 网络编程——socket
			一 客户端/服务器架构 客户端(Client)服务器(Server)架构,即C/S架构,包括 1.硬件C/S架构(打印机) 2.软件C/S架构(web服务) 理想/目标状态—— 最常用的软件服务器是 ... 
- 通过profile优化SQL语句
			开启profile优化SQL语句:set profiling=1;执行SQL语句show profiles;show profile for query 2;//根据query_id 查看某个查询的详 ... 
- Spring学习笔记5—为Spring添加REST功能
			1 关于REST 我的理解,REST就是将资源以最合适的形式在服务端和客户端之间传递. 系统中资源采用URL进行标识(可以理解为URL路径中带参数) 使用HTTP方法进行资源的管理(GET,PUT,P ... 
- jvm性能监控工具
			jvm可能存在的问题: OutOfMemoryError:内存不足 内存泄露 线程死锁 锁竞争(Lock Contention) Java消耗过多的CPU 一.jps(j ... 
- javascript;Dom相关笔记
			document.ondblclick 页面双击事件document.title.charAt(0) 取标题第1个字符串window.alert 弹出消息对话框window.confirm 显示确定 ... 
