zoukankan      html  css  js  c++  java
  • small test on 5.30 night T1

        数学题使劲推就对了。

        让我们设  g(x) = ∑ C(i,x) * b^i ,然后后面验算了一张纸QWQ,懒得再打一遍了,回家我就把这张演算纸补上QWQ,先上代码。

    #include<cstdio>
    #define ll long long
    using namespace std;
    const int maxn=500005,ha=998244353;
    inline int add(int x,int y){ x+=y; return x>=ha?x-ha:x;}
    inline void ADD(int &x,int y){ x+=y; if(x>=ha) x-=ha;}
    inline int ksm(int x,int y){
    	int an=1;
    	for(;y;y>>=1,x=x*(ll)x%ha) if(y&1) an=an*(ll)x%ha;
    	return an;
    }
    
    int b,k,ans,inv[maxn],mul,ni;
    ll n;
    
    int main(){
    	freopen("diyiti.in","r",stdin);
    	freopen("diyiti.out","w",stdout);
    	
    	scanf("%lld%d%d",&n,&b,&k),n++;
    	
    	inv[1]=1;
    	for(int i=2;i<=k;i++) inv[i]=ha-inv[ha%i]*(ll)(ha/i)%ha;
    	
    	mul=ksm(b,n%(ha-1)),ni=ksm(b-1,ha-2);
    	ans=add(add(mul,ha-1)*(ll)ni%ha,ha-1);
    	
    	n%=ha;
    	for(int i=1,now=mul;i<=k;i++){
    		now=now*n%ha*(ll)inv[i]%ha,n=add(n,ha-1);
    		ans=add(now,add(ha-b*(ll)ans%ha,ha-(i==1?b:0)));
    		ans=ans*(ll)ni%ha;
    	}
    	
    	printf("%d
    ",ans);
    	return 0;
    }
    

      

  • 相关阅读:
    访问修饰符
    SqlServer 查运行进程
    SqlServer 作业计时执行存储过程,杀超时进程
    VS快捷键操作
    sql server 命令
    vs 加载 dev控件
    TreeList显示[+] [-] 线条样式
    佳能MG2580S清零
    Dev WaitDialog 使用
    导出.txt / .pdf / .xls
  • 原文地址:https://www.cnblogs.com/JYYHH/p/9113188.html
Copyright © 2011-2022 走看看