zoukankan      html  css  js  c++  java
  • CF1236B Alice and the List of Presents |数学

    题意翻译
    有nn种物品和mm个背包,每种物品有无限个,现将若干个物品放到这些背包中,满足:

    1、每个背包里不能出现相同种类的物品(允许有空背包);

    2、在所有的mm个背包中,每种物品都出现过。

    求方案数,对10^9+7取模。


    转载至 风华正茂

    这不是一道水题吗?

    尽管比赛时推了20min,我太蒟了。

    假如这道题目没有“每种物品都出现过”的限制,那么它的答案就是 2^nm

    那么加上这个限制呢,每种物品必须要放,只用将每种物品的方案减一即可,也就是 2^m-1

    所以用乘法原则得到 ans=(2^m-1)^n

    快速幂都会吧

    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    const int mod=1e9+7;
    #define int long long
    int n,m;
    inline int ksm(int x,int y){
    	int ans=1;
    	while(y){
    		if(y&1)ans=(ans*x)%mod;
    		x=x*x%mod;
    		y>>=1;
    	}
    	return ans;
    }
    signed main(){
    	cin>>n>>m;
    	printf("%lld
    ",ksm(ksm(2,m)-1,n));
    }
    
  • 相关阅读:
    站立会议(3)
    站立会议(2)
    站立会议(1)
    团队报告
    Laravel5.1 模型 --一对多关系
    jQuery 操作DOM
    Laravel5.1 模型 --一对一关系
    Laravel5.1 模型--查询作用域
    Laravel5.1 模型--ModelFactory
    jQuery 选择器
  • 原文地址:https://www.cnblogs.com/naruto-mzx/p/11768022.html
Copyright © 2011-2022 走看看