反素数

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. JZOJ 3388. 【NOIP2013模拟】绿豆蛙的归宿

    3388. [NOIP2013模拟]绿豆蛙的归宿 (Standard IO) Time Limits: 1000 ms  Memory Limits: 131072 KB  Detailed Limi ...

  2. Python9-MySQL-MySQL-ORM框架-day48

    ORM框架:AQLAlchemy-作用: 1.提供简单的规则 2.自动转换成SQL语句 -DB first: 手动创建数据库以及表 -> ORM框架 -> 自动生成类 code first ...

  3. SSH无密码登录及远程拷贝命令SCP的使用

    SSH无密码登录 1.生成密钥对(公钥和私钥) $ cd /home/cen/.ssh $ ssh-keygen -t rsa #生成密钥,使用rsa方式进行加密,四个回车 $ ssh-copy-id ...

  4. Storm Ack容错机制

  5. va_list

    void Log( const TCHAR *pszFormat, ... ) { TCHAR buf[] ; va_list arglist ; try { _tcscpy_s ( buf, , _ ...

  6. Algorithms(fourth edition)——无向图

    1.设计图基本操作API 2.用什么数据结构来表示图并实现API 要求:(1)要预留足够空间 (2)实例方法实现要快 三个选择: 邻接矩阵:布尔矩阵,不满足条件一,而且无法表示平行边 边的数组:不满足 ...

  7. RNNs在股票价格预测的应用

    RNNs在股票价格预测的应用 前言 RNN和LSTMs在时态数据上表现特别好,这就是为什么他们在语音识别上是有效的.我们通过前25天的开高收低价格,去预测下一时刻的前收盘价.每个时间序列通过一个高斯分 ...

  8. Careercup - Microsoft面试题 - 5799446021406720

    2014-05-12 07:17 题目链接 原题: Given below is a tree/trie A B c D e F a<b<e<>>c<>d&l ...

  9. day02_02.能被3整除的个位数为6的数

    第2题 能被3整除的个位数为6的数 难度增加一点点,再接再厉 注意: 把一些限制条件,用PHP编程的语言来执行 题目:输出100以内(不含100)能被3整除且个位数为6的所有整数 <?php f ...

  10. python批量爬取文档

    最近项目需要将批量链接中的pdf文档爬下来处理,根据以下步骤完成了任务: 将批量下载链接copy到text中,每行1个链接: 再读txt文档构造url_list列表,利用readlines返回以行为单 ...