• CF1359E Modular Stability 组合


    分析一波发现如果一个序列合法,那么必须满足所有数都是最小值的倍数.  

    加上组合数就行了. 

    code: 

    #include <bits/stdc++.h>  
    #define ll long long 
    #define mod 998244353 
    #define N 500006   
    #define setIO(s) freopen(s".in","r",stdin)   
    using namespace std;     
    int fac[N],inv[N];    
    int qpow(int x,int y) 
    {
        int tmp=1; 
        for(;y;y>>=1,x=(ll)x*x%mod)  if(y&1) tmp=(ll)tmp*x%mod;  
        return tmp; 
    }
    int INV(int x) { return qpow(x,mod-2); }   
    void init() 
    {
        fac[0]=inv[0]=1;  
        for(int i=1;i<N;++i) fac[i]=(ll)fac[i-1]*i%mod,inv[i]=INV(fac[i]);  
    }
    int C(int x,int y) { return (x<y||x<0||y<0)?0:(ll)fac[x]*inv[y]%mod*inv[x-y]%mod; }   
    int main() 
    { 
        // setIO("input"); 
        int n,k;  
        init();   
        scanf("%d%d",&n,&k);   
        int ans=0; 
        for(int i=1;i<=n;++i) 
        { 
            (ans+=(ll)C(n/i-1,k-1)%mod)%=mod; 
        }        
        printf("%d
    ",ans); 
        return 0; 
    }
    

      

  • 相关阅读:
    mstsc远程桌面 mstsc /v:ip /admin
    JS模块化编程(五)---按照AMD规范扩展全局对象
    常见问题
    django--用户认证组件
    Django
    Django
    Django
    Django
    Django
    第六模块-图书管理系统--多表
  • 原文地址:https://www.cnblogs.com/guangheli/p/13042339.html
Copyright © 2020-2023  润新知