zoukankan      html  css  js  c++  java
  • loj2026 「JLOI / SHOI2016」成绩比较

    orz

    #include <iostream>
    #include <cstdio>
    using namespace std;
    typedef long long ll;
    int n, m, k, C[105][105], u[105], r[105], g[105];
    const int mod=1e9+7;
    int ksm(int a, int b){
    	int re=1;
    	while(b){
    		if(b&1)	re = (ll)re * a % mod;
    		a = (ll)a * a % mod;
    		b >>= 1;
    	}
    	return re;
    }
    int main(){
    	cin>>n>>m>>k;
    	for(int i=1; i<=m; i++)	scanf("%d", &u[i]);
    	for(int i=1; i<=m; i++)	scanf("%d", &r[i]);
    	C[0][0] = 1;
    	for(int i=1; i<=100; i++){
    		C[i][0] = 1;
    		for(int j=1; j<=i; j++)
    			C[i][j] = (C[i-1][j-1] + C[i-1][j]) % mod;
    	}
    	int ans=0, tva=1;
    	for(int i=k; i<n; i++){
    		int tmp=C[n-1][i];
    		for(int j=1; j<=m; j++)
    			tmp = (ll)tmp * C[n-1-i][r[j]-1] % mod;
    		ans = (ans + (ll)tva*tmp%mod*C[i][k]%mod)%mod;
    		if(ans<0)	ans = (ans + mod) % mod;
    		tva *= -1;
    	}
    	for(int i=1; i<=m; i++){
    		g[0] = u[i];
    		for(int x=2; x<=n; x++){
    			int tmp=0;
    			for(int j=0; j<=x-2; j++)
    				tmp = (tmp + (ll)C[x][j]*g[j]%mod) % mod;
    			g[x-1] = (ll)(ksm(u[i]+1,x)-1-tmp+mod) % mod * ksm(x, mod-2) % mod;
    		}
    		int tmp=0, tva=1;
    		for(int l=0; l<r[i]; l++){
    			tmp = (tmp + tva * (ll)C[r[i]-1][l]*ksm(u[i], r[i]-1-l)%mod*g[n-r[i]+l]%mod) % mod;
    			if(tmp<0)	tmp = (tmp + mod) % mod;
    			tva *= -1;
    		}
    		ans = (ll)ans * tmp % mod;
    	}
    	cout<<ans<<endl;
    	return 0;
    }
    
  • 相关阅读:
    当前网页调用其他网页
    保护自己的网页不被放入框架
    保护网页源码
    页面的后退、刷新、前进
    妙味——拖拽+碰撞+重力
    运行代码
    妙味——弹性运动
    IE css bug及解决方案参考
    妙味——布局转换的应用
    [LeetCode][JavaScript]Count Complete Tree Nodes
  • 原文地址:https://www.cnblogs.com/poorpool/p/8882312.html
Copyright © 2011-2022 走看看