sol:很显然就是找出所有质因数,然后分别塞进去就行了,怎么塞就是组合数。感觉就是道小学奥数题

#include <bits/stdc++.h>
using namespace std;
typedef int ll;
inline ll read()
{
ll s=; bool f=; char ch=' ';
while(!isdigit(ch)) {f|=(ch=='-'); ch=getchar();}
while(isdigit(ch)) {s=(s<<)+(s<<)+(ch^); ch=getchar();}
return (f)?(-s):(s);
}
#define R(x) x=read()
inline void write(ll x)
{
if(x<) {putchar('-'); x=-x;}
if(x<) {putchar(x+''); return;}
write(x/); putchar((x%)+'');
}
#define W(x) write(x),putchar(' ')
#define Wl(x) write(x),putchar('\n')
const int Mod=;
int n;
map<int,int>Map;
int num[],cnt[];
int fac[],invf[];
inline int ksm(int x,int y)
{
int ans=;
while(y)
{
if(y&) ans=1LL*ans*x%Mod;
x=1LL*x*x%Mod;
y>>=;
}return ans;
}
inline int C(int n,int m)
{
int oo;
oo=1LL*fac[n]*invf[m]%Mod*invf[n-m]%Mod;
return oo;
}
int main()
{
freopen("codeforces396A_data.in","r",stdin);
int i,j,k,x;
R(n);
fac[]=invf[]=;
for(i=;i<=;i++) fac[i]=1LL*fac[i-]*i%Mod;
invf[]=ksm(fac[],Mod-);
for(i=;i>=;i--) invf[i]=1LL*invf[i+]*(i+)%Mod;
for(i=;i<=n;i++)
{
R(x);
for(j=;j<=sqrt(x);j++) if(x%j==)
{
int oo=;
while(x%j==) {x/=j; oo++;}
if(!Map[j])
{
Map[j]=++(*num); num[*num]=j; cnt[*num]=oo;
}else cnt[Map[j]]+=oo;
}
if(x>)
{
if(!Map[x])
{
Map[x]=++(*num); num[*num]=x; cnt[*num]=;
}else cnt[Map[x]]++;
}
}
int ans=;
for(i=;i<=*num;i++)
{
ans=1LL*ans*C(cnt[i]+n-,n-)%Mod;
}Wl(ans);
return ;
}

codeforces396A的更多相关文章

  1. Codeforces396A - On Number of Decompositions into Multipliers

    Portal Description 给出\(n(n\leq500)\)个\([1,10^9]\)的数,令\(m=\prod_{i=1}^n a_i\).求有多少个有序排列\(\{a_n\}\),使得 ...

随机推荐

  1. 使用Jenkins编译打包SpringCloud微服务中的个别目录

    意义说明: 使用Jenkins从Gogs拉取SpringCloud微服务,拉取的是整个仓库的内容,分好多个模块文件夹,但是使用maven编译打包的话只编译打包指定的模块文件夹 Gogs Webhook ...

  2. SQL Server2008 查找用户登录日志

    select loginname,accdate from sys.syslogins

  3. webpack资源加载常用配置

    const path = require('path'); module.exports = { entry: './src/index.js', output: { filename: 'bundl ...

  4. requests模块的基本用法

    requests 什么是requests模块 python中封装好的一个基于网络请求的模块 作用 用来模拟浏览器发送请求 环境安装 pip install requests 编码流程 指定 url 发 ...

  5. Vue-filter指令全局过滤和稀有过滤

    简单介绍一下过滤器,顾名思义,过滤就是一个数据经过了这个过滤之后出来另一样东西,可以是从中取得你想要的,或者给那个数据添加点什么装饰,那么过滤器则是过滤的工具.例如,从['abc','abd','ad ...

  6. HTML&CSS基础-清除浮动

    HTML&CSS基础-清除浮动 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看浮动效果 1>.HTML源代码 <!DOCTYPE html> &l ...

  7. windows cmd命令学习

    tasklist|findstr "py"

  8. Android测试-monkey

    好久以前搞过monkey,最近看了一个monkey+日志录制的一个分享,准备自己也搞一下. monkey的doc文档: https://developer.android.google.cn/stud ...

  9. flask中使用ajax 处理前端请求 弹框展示

    菜小鱼初次使用 ajax,想前端提交数据,后端处理后,将结果以弹框的形式展示,在网上查看了好多,不停的调试,终于调通了 html: <html> <head></head ...

  10. vue npm,Git随笔

    下载模块: npm install <package-name>  --save-dev 上线: npm run build 基本使用流程:1. npm install vue-cli - ...