题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5407

题意:给定一个数n,求LCM(C(n,0),C(n,1),C(n,2)...,C(n,n))

根据官方题解,g(n) = LCM(C(n,0),C(n,1),C(n,2)...,C(n,n))

       g(n) = f(n+1)/(n+1)

     而    f(n) = LCM(1,2,3,...,n)

对于f(n)中的每一个数,对LCM的贡献值并不一样,可以想一下,对n进行因式分解,n = p1^x1*p2^x2*...+pt*xt;比n小的数中必然有p1^x1,p2^x2...

所以,只有当n可以分解为n=p^x的时候,才对LCM值有贡献。

#include<iostream>
#include<cstdio>
#include<cstring>
typedef long long LL;
using namespace std;
;
;
];
int ans[MAXN];
int fra[MAXN];
//  打印素数表
bool notprime[MAXN];//值为false表示素数,值为true表示非素数
void init1()
{
    memset(notprime,false,sizeof(notprime));
    notprime[]=notprime[]=true;
    ;i<MAXN;i++)
        if(!notprime[i])
        {
            if(i>MAXN/i)continue;//防止后面i*i溢出(或者i,j用long  long)
            //直接从i*i开始就可以,小于i倍的已经筛选过了,注意是j+=i
            for(int j=i*i;j<MAXN;j+=i)
                notprime[j]=true;
    }
}
void getPrime()
{
    memset(prime,,sizeof (prime));
    ;i<=MAXN;i++)
    {
        ]]=i;
        ;j<=prime[]&&prime[j]<=MAXN/i;j++)
        {
            prime[prime[j]*i]=;
            ) break;
        }
    }
}
//  求逆元
long long inv(long long a,long long mod)
{
    );
    return inv(mod%a,mod)*(mod-mod/a)%mod;
}
void init2(){
    ans[] = ;
    int i, j;
    ; i < MAXN; i++){
        ;
        bool flag = false;
        ; prime[j]*prime[j]<= i+; ++j){
             ){
                tmp /= prime[j];
                flag = true;
            }
            if(flag)
                break;
        }
        ){
            ans[i] = 1LL*ans[i-]*i%mod*prime[j]%mod*inv((i+),mod)%mod;
        }
        ]){
            ans[i] = 1LL*ans[i-]*i%mod*(i+)%mod*inv((i+),mod)%mod;
        }
        else{
            ans[i] = 1LL*ans[i-]*i%mod*inv((i+),mod)%mod;
        }
    }
}

int main(){
    getPrime();
    init1();
    init2();
    int T, N;
    scanf("%d",&T);
    while(T--){
        scanf("%d",&N);
        printf("%d\n",ans[N]);
    }
    ;
}

hdu 5407的更多相关文章

  1. HDU 5407(2015多校10)-CRB and Candies(组合数最小公倍数+乘法逆元)

    题目地址:pid=5407">HDU 5407 题意:CRB有n颗不同的糖果,如今他要吃掉k颗(0<=k<=n),问k取0~n的方案数的最小公倍数是多少. 思路:首先做这道 ...

  2. Hdu 5407 CRB and Candies (找规律)

    题目链接: Hdu 5407 CRB and Candies 题目描述: 给出一个数n,求lcm(C(n,0),C[n,1],C[n-2]......C[n][n-2],C[n][n-1],C[n][ ...

  3. HDU 5407 CRB and Candies(LCM +最大素因子求逆元)

    [题目链接]pid=5407">click here~~ [题目大意]求LCM(Cn0,Cn1,Cn2....Cnn)%MOD 的值 [思路]来图更直观: 这个究竟是怎样推出的.说实话 ...

  4. LCM性质 + 组合数 - HDU 5407 CRB and Candies

    CRB and Candies Problem's Link Mean: 给定一个数n,求LCM(C(n,0),C(n,1),C(n,2)...C(n,n))的值,(n<=1e6). analy ...

  5. HDU 5407 CRB and Candies

    题意:给一个正整数k,求lcm((k, 0), (k, 1), ..., (k, k)) 解法:在oeis上查了这个序列,得知答案即为lcm(1, 2, ..., k + 1) / (k + 1),而 ...

  6. hdu 5407 CRB and Candies(组合数+最小公倍数+素数表+逆元)2015 Multi-University Training Contest 10

    题意: 输入n,求c(n,0)到c(n,n)的所有组合数的最小公倍数. 输入: 首行输入整数t,表示共有t组测试样例. 每组测试样例包含一个正整数n(1<=n<=1e6). 输出: 输出结 ...

  7. hdu 5407【LCM性质】+【逆元】(结论题)

    <题目链接> <转载于 >>> > Problem Description CRB has N different candies. He is going ...

  8. hdu 5407(LCM好题+逆元)

    CRB and Candies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  9. HDU 5407——CRB and Candies——————【逆元+是素数次方的数+公式】

    CRB and Candies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

随机推荐

  1. OGNL valueStack StackContext(ActionContext)深入分析(转+个人理解)

    //还会补充 首先要有一个意识 ,为什么要了解这个?: struts2中的表单是怎么通过表达式(EL or OGNL)来传给Action 和 拿到Action的值的. 值栈(根)对象也可以直接使用EL ...

  2. Linux下ll命令与ls -l

    还大三Linux课的债. 1.ll命令用于显示当前文件下非隐藏文件的详情 查询结果分为7栏: 1)如' -rw-r--r--' 表示三种用户对该文件的不同权限: r:可读:w:可写:x:可执行 其中第 ...

  3. JBPM4入门——6.流程实例的创建和执行

    本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...

  4. html:唤起手机qq开始对话 & 自动拨号

    <a href="mqqwpa://im/chat?chat_type=wpa&uin=[qq号]&version=1">XXX</a> 另 ...

  5. SpringMvc+jquery easyui模块开发7步骤

    搞了一段java的开发,总结出模块开发经验: SpringMvc+jquery easyui模块开发7步骤:1) 数据表(table):                定义表结构并创建数据表t_use ...

  6. 获取Request请求的路径信息

    从Request对象中可以获取各种路径信息,以下例子: 假设请求的页面是index.jsp,项目是WebDemo,则在index.jsp中获取有关request对象的各种路径信息如下 String p ...

  7. Dapper的完整扩展(转)

    真心想说:其实...我不想用Dapper,如果OrmLite.Net支持参数化的话,也就没Dapper的什么事情了,对于OrmLite.Net只能做后续跟踪...... 这个其实是看了Dapper作者 ...

  8. 链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。[手稿]

    消息 7302,级别 16,状态 1,第 1 行 无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.JET.OLEDB.4.0&qu ...

  9. CSS学习进度备忘

    书签:“CSS 高级”跳过:另外跳过的内容有待跟进 __________________ 学习资源:W3School. _________________ 跳过的内容:1.“CSS id 选择器”的“ ...

  10. 前端架构:Angular与requirejs集成实践

    这几天angular与requirejs.browserify的集成弄的博主头好晕,今天终于成功集成了requirejs,现写些心得体会在这里. 核心思想:angular加载时有一定的顺序,必须依次加 ...