Description
    给定一个正整数X, 一个长度为m的X-因子链是由m+1个整数组成的。其中
    1 = X0, X1, X2, …, Xm = X 满足Xi < Xi+1 且 Xi 整除 Xi+1 。
    现在要求X-因子链的最大长度和最大长度有多少条?
Input
    多组数据,每一组数据一个正整数X (X ≤ 220).
Output
    对于每组数据,输出X-因子链的最大长度和最大长度有多少条
Sample Input
    2
    3
    4
    10
    100
Sample Output
    1 1
    1 1
    2 1
    2 2
    4 6
Analysis

1.子链的长度就是分解质因数后每个质因数个数的和。为什么?如果出现一个合数,必定可以再分解使子链加长。

2.剩下的工作就是dfs,注意每一步只能选泽一种质数去分解。分解到1记一个贡献

Code

 #include<set>
#include<map>
#include<queue>
#include<stack>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define RG register int
#define rep(i,a,b) for(RG i=a;i<=b;++i)
#define per(i,a,b) for(RG i=a;i>=b;--i)
#define ll long long
#define inf (1<<29)
#define maxn 1048580
#define lim 1048578
using namespace std;
int n,cnt,pt,ans,ans1;
int isp[maxn],p[maxn];
int num[maxn][];
inline int read()
{
int x=,f=;char c=getchar();
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
} void pre()
{
rep(i,,lim)
{
if(!isp[i]) p[++cnt]=i;
for(RG j=;j<=cnt&&p[j]*i<=lim;j++)
{
isp[i*p[j]]=;
if(!(i%p[j])) break;
}
}
} void work()
{
int res=n;
rep(i,,cnt)
{
if(!(res%p[i])){
num[++pt][]=p[i],num[pt][]=;
while(!(res%p[i])) ++num[pt][],res/=p[i],++ans1;
}
if(res==) break;
}
} void dfs(int res)
{
if(res==){ans++;return;}
for(int i=;i<=pt;i++)
{
if(num[i][])
{
num[i][]--;
dfs(res/num[i][]);
num[i][]++;
}
}
} int main()
{
pre();
while(~scanf("%d",&n))
{
pt=ans=ans1=;
work();
dfs(n);
printf("%d %d\n",ans1,ans);
}
return ;
}

X-factor Chains [POJ3421] [素数]的更多相关文章

  1. X-factor Chains(POJ3421 素数)

    X-factor Chains Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6212   Accepted: 1928 D ...

  2. 杭电 2136 Largest prime factor(最大素数因子的位置)

    Largest prime factor Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  3. UVA 11610 Reverse Prime (数论+树状数组+二分,难题)

    参考链接http://blog.csdn.net/acm_cxlove/article/details/8264290http://blog.csdn.net/w00w12l/article/deta ...

  4. HDU题解索引

    HDU 1000 A + B Problem  I/O HDU 1001 Sum Problem  数学 HDU 1002 A + B Problem II  高精度加法 HDU 1003 Maxsu ...

  5. poj3421 X-factor Chains(重复元素的全排列)

    poj3421 X-factor Chains 题意:给定正整数$x(x<=2^{20})$,求$x$的因子组成的满足任意前一项都能整除后一项的序列的最大长度,以及满足最大长度的子序列的个数. ...

  6. HDOJ/HDU 2710 Max Factor(素数快速筛选~)

    Problem Description To improve the organization of his farm, Farmer John labels each of his N (1 < ...

  7. HDOJ(HDU) 2136 Largest prime factor(素数筛选)

    Problem Description Everybody knows any number can be combined by the prime number. Now, your task i ...

  8. POj3421 X-factor Chains(质因数分解+排列组合)

    POj3421X-factor Chains 一开始没读懂题意,不太明白 Xi | Xi+1 where a | b means a perfectly divides into b的意思,后来才发现 ...

  9. Max Factor(素数筛法)题解

    Max Factor Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

随机推荐

  1. win10远程桌面出现身份验证错误。要求的函数不受支持

    打开组策略,依次展开“计算机配置”->“管理模板”->“系统”->“凭据分配”,设置名称: “加密 Oracle 修正” 为已启用,并设置保护级别为“易受攻击”

  2. Centos7安装OpenJDK8

    https://blog.csdn.net/kanbe_kotori/article/details/70948430

  3. [转] js中的钩子机制(hook)

    什么是钩子机制?使用钩子机制有什么好处? 钩子机制也叫hook机制,或者你可以把它理解成一种匹配机制,就是我们在代码中设置一些钩子,然后程序执行时自动去匹配这些钩子:这样做的好处就是提高了程序的执行效 ...

  4. JS高级程序设计2

    面向对象 ,基本模式.对象字面量模式.工厂模式.构造函数模式.原型模式.组合构造函数和原型模式.其他模式见电子书:动态原型模式.寄生构造函数模式(不推荐).稳妥构造函数模式(要求安全的环境,不使用ne ...

  5. es6 Proxy

    proxy在语言层面去操作一个对象 var user={}; user.fname='Bob'; user.lname="Wood"; user.fullName= functio ...

  6. nginx+keepalived实现 负载均衡 高可用

    Vip: 192.168.220.18 Rip1:192.168.220.2 Rip:192.168.220.3 Rip可以配置在一个服务器上通过ip做虚拟主机 1 rs上配置环境 2 配置应用 Yu ...

  7. POJ1330Nearest Common Ancestors

    去博客园看该题解 题意 第一行输入T,有T组数据. 对于每组数据,给出一棵树,先输入n,然后n-1行,每行两个数a,b,表示a是b的父亲:第n行输入两个数A,B表示询问A和B的最近公共祖先. 题解 L ...

  8. 007 使用SpringMVC开发restful API五--异常处理

    一:任务 1.任务 Spring Boot中默认的错误机制处理机制 自定义异常处理 二:Spring Boot中的默认错误处理机制 1.目前 浏览器访问的时候, restful 接口主要是根据状态码进 ...

  9. day 51 js-2 函数,对象,正则 (定时器示例)

    本文转载自cnblogs.liwenzhou-----哪吒博客 先来一个定时器让我们看看函数的效果: <script src="/js/jquery-3.2.1.min.js" ...

  10. html-列表-3

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...