反素数

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 5723    Accepted Submission(s): 3355

Problem Description
反素数就是满足对于任意i(0<i<x),都有g(i)<g(x),(g(x)是x的因子个数),则x为一个反素数。现在给你一个整数区间[a,b],请你求出该区间的x使g(x)最大。
 
Input
第一行输入n,接下来n行测试数据
输入包括a,b, 1<=a<=b<=5000,表示闭区间[a,b].
 
Output
输出为一个整数,为该区间因子最多的数.如果满足条件有多个,则输出其中最小的数.
 
Sample Input
3
2 3
1 10
47 359
 
Sample Output
2
6
240
 
本来想找个反素数的题目练练手,结果碰到一水题。打表即可,,不过我这里也把反素数的模板贴上来。
#include <iostream>
#include <stdio.h>
using namespace std;
int cnt[];
void init(){
for(int i=;i<=;i++){
for(int j=;j*j<=i;j++){
if(i%j==){
if(j*j==i) cnt[i]++;
else{
cnt[i]+=;
}
}
}
}
}
int main()
{
init();
int tcase;
scanf("%d",&tcase);
while(tcase--){
int a,b;
scanf("%d%d",&a,&b);
int MAX = -,res=a;
for(int i=a;i<=b;i++){
if(cnt[i]>MAX) {
MAX = cnt[i];
res = i;
}
}
printf("%d\n",res);
}
return ;
}

以下是求[1,n]内反素数的模板。参考了acreamer大神:http://blog.csdn.net/ACdreamers/article/details/25049767

/**此模板可求[1,b]之间的反素数*/
#include<stdio.h>
#include<string.h>
#include <iostream>
#include <algorithm>
#include <stdlib.h>
using namespace std;
typedef unsigned long long ULL;
const ULL INF = ~0ULL;
int p[] = {,,,,,,,,,,,,,,,};
int ans,n;
int best;
void dfs(int dept,int limit,ULL tmp,int num)
{
///到叶子结点,返回
if(dept >= ) return;
///num记录的因子个数,如果遇到更小的,就更新
if(num > best)
{
best = num;
ans = tmp;
}
///当因子个数相同时,取值最小的
if(num == best && ans > tmp) ans = tmp;
for(int i=;i<=limit;i++)
{
if(n/p[dept] < tmp) break;
dfs(dept+,i,tmp *= p[dept],num*(i+));
}
}
int main()
{
int tcase;
scanf("%d",&tcase);
while(tcase--){
scanf("%d",&n);
ans =INF;
best = ;
dfs(,,,); ///最大不会超过INF < 2^63
printf("%d\n",ans);
}
return ;
}

hdu 2521 反素数(打表)的更多相关文章

  1. HDOJ(HDU) 2521 反素数(因子个数~)

    Problem Description 反素数就是满足对于任意i(0< i < x),都有g(i) < g(x),(g(x)是x的因子个数),则x为一个反素数.现在给你一个整数区间[ ...

  2. HDU 2521 反素数 模拟题

    解题报告:水题,直接附上代码,只是觉得这题的作者是不是吃饱了饭撑的,反素数的概念跟这题一点关系都没有. #include<cstdio> int judge1(int k) { ; ;i& ...

  3. HDU 2521 反素数(数论,比较)

    #include<iostream> #include<cstring> #include<cmath> #include<cstdio> using ...

  4. hdu 4542 小明系列故事——未知剩余系 反素数 + 打表

    小明系列故事——未知剩余系 Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Prob ...

  5. ZOJ 2562 HDU 4228 反素数

    反素数: 对于不论什么正整数x,起约数的个数记做g(x).比如g(1)=1,g(6)=4. 假设某个正整数x满足:对于随意i(0<i<x),都有g(i)<g(x),则称x为反素数. ...

  6. poj 2886 (线段树+反素数打表) Who Gets the Most Candies?

    http://poj.org/problem?id=2886 一群孩子从编号1到n按顺时针的方向围成一个圆,每个孩子手中卡片上有一个数字,首先是编号为k的孩子出去,如果他手上的数字m是正数,那么从他左 ...

  7. HDOJ(HDU) 2161 Primes(素数打表)

    Problem Description Write a program to read in a list of integers and determine whether or not each ...

  8. hdu 4135 Co-prime (素数打表+容斥原理)

    题目链接 题意:问从A到B中与N互素的个数. 题解: 利用容斥原理:先求出与n互为素数的个数. 可以先将 n 进行素因子分解,然后用区间 x 除以 素因子,就得到了与 n 的 约数是那个素因子的个数, ...

  9. poj 2886 线段树+反素数

    Who Gets the Most Candies? Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 12744   Acc ...

随机推荐

  1. Python基础:输入与输出(I/O)

    来做一个NLP任务 步骤为: 1.读取文件: 2.去除所有标点符号和换行符,并把所有大写变成小写: 3.合并相同的词,统计每个词出现的频率,并按照词频从大到小排序: 4.将结果按行输出到文件 out. ...

  2. Susan Sontag【苏珊·桑塔格】

    Sunsan Sontag Sunsan Sontag was one of the most noticeable figures in the world of literature. 苏珊·桑塔 ...

  3. poj 2139 奶牛拍电影问题 floyd算法

    题意:奶牛拍一系列电影,n头牛拍m部电影,同一部电影种的搭档们距离为1,求最小距离? 思路:Floyd 图 最短路径 存图: 初始化图 for (int i = 0; i <= n; i++) ...

  4. MongoDB集群部署 - 带访问控制的分片副本集

    1. 前言 Ceilometer将meter.event等数据保存在MongoDB中,之前将MongoDB部署在控制节点上,使用三副本模式,时间长了发现meter数据爆炸式增长,区区2T的磁盘捉襟见肘 ...

  5. hadoop: Shuffle过程详解 (转载)

    原文地址:http://langyu.iteye.com/blog/992916 另一篇博文:http://www.cnblogs.com/gwgyk/p/3997849.html Shuffle过程 ...

  6. kettle - Linux下定时执行kettle作业

    Linux下实现kettle 自动同步数据 1.安装jdk tar -zxvf jdk-7u25-linux-x64.tar.gz -C /usr/share 2.配置java环境 vim /etc/ ...

  7. SVM python小样例

    SVM有很多种实现,但是本章只关注其中最流行的一种实现,即序列最小化(SMO)算法在此之后,我们将介绍如何使用一种称为核函数的方式将SVM扩展到更多的数据集上基于最大间隔的分割数据优点:泛化错误率低, ...

  8. windows下,cmd 运行 python 脚本,选中文字就停止运行了【已解决】

    参考资料: https://jingyan.baidu.com/article/ce09321bb95dda2bff858f26.html 问题原因: cmd 里面,快速编辑模式会暂停程序 解决步骤: ...

  9. leetcode 【 Find Peak Element 】python 实现

    题目: A peak element is an element that is greater than its neighbors. Given an input array where num[ ...

  10. 嵌入式tcpip

    嵌入式tcpip方案 目前高端一点的嵌入式处理器,如STM32F107,都带有MAC,因此用户在实现网络功能的时候,只需要外界PHY层的芯片, 目前使用比较都的是DM9161A.网上的驱动也比较多,开 ...