http://poj.org/problem?id=3421

题目大意:一个数列,起始为1,终止为一给定数X,满足Xi < Xi+1 并且Xi | Xi+1。

求出数列最大长度和该长度下的情况数。

——————————————

很简单想到分解X质因数,这样我们每加一个数就是前一个数*其中一个质因数即可。

所以长度为质因数个数。

至于情况数,就是有重复的排列数,去重即可求。

(不开longlong见祖宗,十年OI一场空)

#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
#include<algorithm>
typedef long long ll;
using namespace std;
int su[1025];
bool he[1025];
ll t[1025];
int cnt=0;
ll sum=0;
void Euler(int n){for(int i=2;i<=n;i++){if(he[i]==0){cnt++;su[cnt]=i;    }for(int j=1;j<=cnt&&i*su[j]<=n;j++){he[su[j]*i]=1;if(i%su[j]==0)break;}}return;
}
void fen(ll x){for(int i=1;i<=cnt&&su[i]*su[i]<=x;i++){ll p=su[i];if(x%p==0){while(x%p==0){sum++;t[i]++;x/=p;}}}if(x>1)sum++;return;
}
ll jie(int k){ll ans=1;for(int i=2;i<=k;i++){ans*=i;}return ans;
}
int main(){Euler(1024);ll x;while(scanf("%lld",&x)!=EOF){if(x==0)break;memset(t,0,sizeof(t));sum=0;fen(x);printf("%lld ",sum);ll ans=jie(sum);for(int i=1;i<=cnt;i++){ans/=jie(t[i]);}printf("%lld\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/luyouqi233/p/7898607.html

POJ3421:X-factor Chains——题解相关推荐

  1. USACO 2020 December Contest, BronzeProblem 2. Daisy Chains题解

    题目描述: 每天,作为她绕农场行走的一部分,奶牛 Bessie 会经过她最喜爱的草地,其中种有 N 朵花(五颜六色的雏菊),编号为1-N(1≤N≤100),排列成一行.花 i 有 pi 朵花瓣(1≤p ...

  2. ZOJ1937:Addition Chains——题解

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1937 题目大意:创造一个数列,使得它: 1.单调不递减. 2.其中一个元素 ...

  3. POJ3421 X-factor Chains【分解质因子+组合数学】

    问题链接:POJ3421 X-factor Chains. 题意简述:输入正整数x,求x的因子组成的满足任意前一项都能整除后一项的序列的最大长度,以及所有不同序列的个数. 问题分析: 首先要对x进行因 ...

  4. poj3421 X-factor Chains

    题意: Description Given a positive integer X, an X-factor chain of length m is a sequence of integers, ...

  5. UVA 818 Cutting Chains(状压 + 暴搜)题解

    题意:有1~n个小环,他们中的有些互相扣在一起,问你至少切开几个能把这写小环串成一条链 思路:还是太菜了,题目给的n<=15,显然可以暴力解决. 用二进制表示每个环切还是不切,然后搜索所有情况. ...

  6. 欧拉计划(project euler)最详细中文题解

    欧拉计划是一个在线解题网站,题目以各类数学问题为主,通常需要结合一定的数学与编程知识,写出适当的程序求解问题(详细介绍可以参见我的文章).相比于力扣等刷题网站,欧拉计划上的题目有着更丰富的知识背景,在 ...

  7. 第十二届西南石油大学程序设计新生赛官方题解

    整理的算法模板合集: ACM模板 目录 A.杰杰国王的平等节(easy)[签到] B.最佳复习效果(easy - mid)[二分查找] C.无限之路(mid - hard)[离散化+前缀和] D.Is ...

  8. Using Markov Chains for Android Malware Detection

    If you're chatting with someone, and they tell you "aslkjeklvm,e,zk3l1" then they're speak ...

  9. 254. Factor Combinations

    题目: Numbers can be regarded as product of its factors. For example, 8 = 2 x 2 x 2;= 2 x 4. Write a f ...

  10. ACM题解系列之一:刘汝佳:《算法竞赛入门经典》(第2版)

    题是书中的题,解法参照了书中的解法,不少解法都做了简化和改进. 做程序,就要努力做到自己的程序是最好的! 第3章例题 POJ1488 UVA272 UVALive5381 TEX Quote[输入输出 ...

最新文章

  1. WP8:Unity3D之间的值传递
  2. 《因果科学周刊》第3期:因果助力 Stable Learning
  3. “计算社会科学数据平台”在清华大学发布(附账号申请链接)
  4. 走进SQL Server 2005:备份与恢复功能
  5. Google 2020游戏开发者峰会回顾、比尔•盖茨的夏日书单、Libaom 2.0.0发布等|Decode the Week...
  6. 编写高效率的C#代码
  7. python自编信息加密函数_自定义Python加密算法
  8. 为什么谷歌被骂上热搜一点也不冤,详解FLoC背后联邦计算
  9. hdu 1671 Phone List 字典树模板
  10. 绝地大逃杀服务器维护多少时间,绝地求生4月12日维护到几点/维护多长时间 绝地求生4.12维护什么时候好/能进游戏...
  11. 教你如何做人的小故事
  12. conda安装cv2_『开发技术』Windows极简安装使用face_recognition实现人脸识别
  13. 维基百科数据导入mysql数据库并进行检索操作
  14. grub4dos和bootmgr双启动
  15. Android开发相关介绍--基础篇
  16. git rebase操作
  17. 打造类手机刷机的win10 recovery镜像
  18. php 将信息写入文件格式,PHP 将信息写入文件
  19. oracle 求正数总和,为什么sum时负数不能相加?
  20. dashboard 镜像源_使用 tekton 做 CI/CD

热门文章

  1. 放之四海皆适用的设计原则(二)
  2. 《linux核心应用命令速查》连载十一:pstree:显示进程状态树
  3. 李沐老师的PyTorch 版《动手学深度学习》PDF 开源了(全中文,支持 Jupyter 运行)
  4. Android布局文件xml
  5. 【数据结构笔记】Leetcode买卖股票的最佳时机 系列总结
  6. eclipse无法运行PHP_eclipse 无法运行php文件怎么办
  7. 力扣-530. 二叉搜索树的最小绝对差
  8. 入门OJ 4187【周末舞会】
  9. C#通过正则表达式判断字符是否为数字
  10. P2900 [USACO08MAR]土地征用Land Acquisition