ZOJ2562
https://vjudge.net/problem/11781/origin
<=n的且因子数最多的那个数
做法:同因子数取最小,dfs更新答案

#include <iostream>
#include <cstdio>
#include <queue>
#include <algorithm>
#include <cmath>
#include <cstring>
#define inf ~0
#define N 1000010
#define p(a) putchar(a)
#define For(i,a,b) for(unsigned long long i=a;i<=b;++i) using namespace std;
unsigned long long n,ans,now;
unsigned long long prime[]={,,,,,,,,,,,,,,,};
void in(unsigned long long &x){
unsigned long long y=;char c=getchar();x=;
while(c<''||c>''){if(c=='-')y=-;c=getchar();}
while(c<=''&&c>=''){ x=(x<<)+(x<<)+c-'';c=getchar();}
x*=y;
}
void o(unsigned long long x){
if(x<){p('-');x=-x;}
if(x>)o(x/);
p(x%+'');
} void dfs(unsigned long long depth,unsigned long long num,unsigned long long cnt,unsigned long long up){
if(num>=now&&cnt<=ans)
return;
if(ans<cnt){
ans=cnt;
now=num;
}
if(ans==cnt&&now>num)
now=num;
For(i,,up){
if(num*prime[depth]>n) return;
dfs(depth+,num*=prime[depth],cnt*(i+),i);
}
} int main(){
while(scanf("%llu",&n)!=EOF){
ans=;
now=;
dfs(,,,);
o(now);
p('\n');
}
return ;
}

ZOJ2562的更多相关文章

  1. 【zoj2562】反素数

    题意:给定一个数N,求小于等于N的所有数当中,约数最多的一个数,如果存在多个这样的数,输出其中最小的一个.(1 <= n <= 10^16) 题目:http://acm.hust.edu. ...

  2. hdu4542 && ZOJ2562(反素数)

    反素数: 对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整 数,都有,那么称为反素数. 有两个特点: 1.一个反素数的质因子必是从2开始的质数 2.如果,那么必有 最常见的问题如 ...

  3. ZOJ-2562 More Divisors 反素数

    题意:给定一个数N,求小于等于N的所有数当中,约数最多的一个数,如果存在多个这样的数,输出其中最大的一个. 分析:反素数定义:对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4 ...

  4. zoj2562:搜索+数论(反素数)

    题目大意:求n以内因子数量最多的数  n的范围为1e16 其实相当于求n以内最大的反素数... 由素数中的 算数基本原理 设d(a)为a的正因子的个数,则 d(n)=(a1+1)(a2+1)..... ...

  5. zoj2562 反素数

    /* 这题1 <= n <= 1016,暴力肯定是TLM,所以看了大牛求解小于N的反素数的算法,思路大致是这样的: 性质1:一个反素数的质因子一定是从2开始的若干个连续质数. 因此可以枚举 ...

  6. ZOJ- 2562 反素数使用

    借用了下东北师大ACM的反素数模版. 本来我是在刷线段树的,有一题碰到了反素数,所以学了一下..有反素数的存在,使得一个x ,使得x的约数个数,在1 到 x的所有数里面,是最大的. 这里面还涉及安叔那 ...

  7. acm数学(转)

    这个东西先放在这吧.做过的以后会用#号标示出来 1.burnside定理,polya计数法    这个大家可以看brudildi的<组合数学>,那本书的这一章写的很详细也很容易理解.最好能 ...

  8. [转] POJ数学问题

    转自:http://blog.sina.com.cn/s/blog_6635898a0100magq.html 1.burnside定理,polya计数法 这个大家可以看brudildi的<组合 ...

  9. poj 2886 线段树的更新+反素数

    Who Gets the Most Candies? Time Limit: 5000 MS Memory Limit: 0 KB 64-bit integer IO format: %I64d , ...

随机推荐

  1. NtOpenProcess被HOOK,跳回原函数地址后仍然无法看到进程

    点击打开链接http://www.ghoffice.com/bbs/read-htm-tid-103923.html

  2. CentOS7 相关配置

    nginx 1.在线安装nginx yum install nginx 2.启动nginx服务 systemctl start nginx 3.防火墙设置 打开http防火墙:firewall-cmd ...

  3. jwt、oauth2和oidc等认证授权技术的理解

    前言 jwt.oauth2.oidc等,都是和认证授权相关的规范或者解决方案,因此要理解他们,就需要从业务场景的适用性一步步的分析和认识. 一.认证授权业务场景理解 就个人目前的理解来看,一个好的软件 ...

  4. mssql查询表在哪个数据库中

    mssql查询表在哪个数据库中 EXEC sp_MSforeachdb @command1='IF object_id(''?'' + ''..表名'') IS NOT NULL PRINT ''?' ...

  5. Python3实用编程技巧进阶✍✍✍

    Python3实用编程技巧进阶  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以 ...

  6. 27-Ubuntu-远程管理命令-01-关机和重启

    关机和重启--shutdown 注: 不指定选项和参数,默认表示1分钟之后关闭电脑 远程维护服务器时,最好不要关闭系统而应该重启 实例1:立刻关机 shutdown -h now 实例2:未带任何参数 ...

  7. tarjan模板 强联通分量+割点+割边

    // https://www.cnblogs.com/stxy-ferryman/p/7779347.html ; struct EDGE { int to, nt; }e[N*N]; int hea ...

  8. USACO2008 Time Management /// 贪心 oj24386

    题目大意: 有N个工作被编号为1..N (1 ≤ N ≤ 1,000) 完成第i个工作需要T_i (1 ≤ T_i ≤ 1,000)的时间 第i个工作需在S_i (1 ≤ S_i ≤ 1,000,00 ...

  9. 2018-8-10-win10-uwp-如何让一个集合按照需要的顺序进行排序

    title author date CreateTime categories win10 uwp 如何让一个集合按照需要的顺序进行排序 lindexi 2018-08-10 19:16:50 +08 ...

  10. 6_再次开中断STI的正确姿势

    1 直接开启sti --蓝屏 2 配置环境 正确开启sti 中断 kpcr -- 很多重要线程切换的数据.结构 进入内核的时候 fs 不再是teb/tib: 是kpcr. 同时观察 kifastcal ...