POJ3421:X-factor Chains——题解
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[];
bool he[];
ll t[];
int cnt=;
ll sum=;
void Euler(int n){
for(int i=;i<=n;i++){
if(he[i]==){
cnt++;
su[cnt]=i;
}
for(int j=;j<=cnt&&i*su[j]<=n;j++){
he[su[j]*i]=;
if(i%su[j]==)break;
}
}
return;
}
void fen(ll x){
for(int i=;i<=cnt&&su[i]*su[i]<=x;i++){
ll p=su[i];
if(x%p==){
while(x%p==){
sum++;
t[i]++;
x/=p;
}
}
}
if(x>)sum++;
return;
}
ll jie(int k){
ll ans=;
for(int i=;i<=k;i++){
ans*=i;
}
return ans;
}
int main(){
Euler();
ll x;
while(scanf("%lld",&x)!=EOF){
if(x==)break;
memset(t,,sizeof(t));
sum=;
fen(x);
printf("%lld ",sum);
ll ans=jie(sum);
for(int i=;i<=cnt;i++){
ans/=jie(t[i]);
}
printf("%lld\n",ans);
}
return ;
}
POJ3421:X-factor Chains——题解的更多相关文章
- ZOJ1937:Addition Chains——题解
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1937 题目大意:创造一个数列,使得它: 1.单调不递减. 2.其中一个元素 ...
- 一本通【例题4】Addition Chains——题解
又是一道剪枝剪了半天的搜索题...题目传送 要充分利用题目中的约束条件:1.:2.对于每个k(1≤k≤m)k(1≤k≤m)满足ak=ai+aj(0≤i,j≤k−1)ak=ai+aj(0≤i,j≤k−1 ...
- 1443:【例题4】Addition Chains
1443:[例题4]Addition Chains 题解 注释在代码里 注意优化搜索顺序以及最优化剪枝 代码 #include<iostream> #include<cstdio&g ...
- POj3421 X-factor Chains(质因数分解+排列组合)
POj3421X-factor Chains 一开始没读懂题意,不太明白 Xi | Xi+1 where a | b means a perfectly divides into b的意思,后来才发现 ...
- poj3421 X-factor Chains(重复元素的全排列)
poj3421 X-factor Chains 题意:给定正整数$x(x<=2^{20})$,求$x$的因子组成的满足任意前一项都能整除后一项的序列的最大长度,以及满足最大长度的子序列的个数. ...
- X-factor Chains(POJ3421 素数)
X-factor Chains Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6212 Accepted: 1928 D ...
- Max Factor(素数筛法)题解
Max Factor Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- poj3421 X-factor Chains
X-factor Chains Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7733 Accepted: 2447 D ...
- X-factor Chains [POJ3421] [素数]
Description 给定一个正整数X, 一个长度为m的X-因子链是由m+1个整数组成的.其中 1 = X0, X1, X2, …, Xm = X 满足Xi < Xi+1 且 Xi ...
随机推荐
- jQuery实现“回到顶部”按钮功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C++11 type_traits 之is_pointer,is_member_function_pointer源码分析
源码如下: template<typename> struct __is_pointer_helper : public false_type { }; template<typen ...
- hibernate.hbm2ddl.auto=update不能自动生成表结构
在写上篇文章<spring整合springmvc和hibernate>的时候,曾遇到一个问题 INFO: Server startup in 8102 ms Hibernate: inse ...
- Vue动画效果
1.哪些元素/那些组件适合在那些条件下实现动画效果 条件渲染 (使用 v-if) 条件展示 (使用 v-show) 动态组件 组件根节点 简单经典例子:(文字隐藏到显示效果) <div> ...
- 实现Bidirectional LSTM Classifier----深度学习RNN
双向循环神经网络(Bidirectional Recurrent Neural Networks,Bi-RNN),Schuster.Paliwal,1997年首次提出,和LSTM同年.Bi-RNN,增 ...
- iis 10 重新注册iis
iis 10 使用该命令 提示 版本不支持 C:\WINDOWS\system32>c:\windows\microsoft.net\framework64\v4.0.30319\aspnet_ ...
- 安装HIVE
参考:https://cwiki.apache.org/confluence/display/Hive/GettingStarted 1.下载hive安装包 到apache官网或者其它地方下载 ...
- ZOJ 3644 Kitty's Game(数论+DP)
Description Kitty is a little cat. She is crazy about a game recently. There arenscenes in the game( ...
- 一次大量TIME_WAIT和Recv-Q 堵塞问题排查思路
记录一下周末出现问题~ 仅自己摘记不做任何参考. 第一天故障: 现象: 公司销售群和售后群炸了,说老后台(1.0版本)崩溃了,因为还有部门的业务没来得及迁移到新后台,我当时正在打农药哈哈~ 后 ...
- Java常用类之StringBuffer
StringBuffer 类: 1. java.lang.StringBuffer 代表可变的字符序列: 2. StringBuffer 和 String 类似,但是 StringBuffer 可以对 ...