zoukankan      html  css  js  c++  java
  • ZOJ 3556 How Many Sets I

    How Many Sets I

    Time Limit: 2 Seconds      Memory Limit: 65536 KB

    Give a set S, |S| = n, then how many ordered set group (S1, S2, ..., Sk) satisfies S1 ∩ S2 ∩ ... ∩ Sk = ∅. (Si is a subset of S, (1 <= i <= k))

    Input

    The input contains multiple cases, each case have 2 integers in one line represent n and k(1 <= k <= n <= 231-1), proceed to the end of the file.

    Output

    Output the total number mod 1000000007.

    Sample Input

    1 1
    2 2
    

    Sample Output

    1
    9

    题意:

    个数为n的集合,从中选出K个子集使得他们的交集为空的个数。

      子集可以重复选


    考虑1个元素
    它在k子集里的数目为2^k
    其中有一种是k个子集都有这个元素,他们这k个子集的交集就不为空
    所以1个元素k个子集交集为空的数目 有(2^k)-1 种
    那么n个元素就是((2^k)-1)^n


    #include<cstdio>
    using namespace std;
    typedef long long LL;
    const LL mod=1000000007;
    LL n,k;
    LL pow(LL a,LL b)
    {
        LL r=1;
        while(b)
        {
            if(b&1) r*=a,r%=mod;
            b>>=1; a*=a; a%=mod;
        }
        return r;
    }
    int main()
    {
        while(scanf("%lld%lld",&n,&k)!=EOF) 
        printf("%lld
    ",pow(pow(2,k)-1,n));
    }

  • 相关阅读:
    demo_10_02 云数据库聚合_bucket_02 bucketAuto
    demo_10_02 云数据库聚合_bucket_01
    nginx 启动脚本
    grep 全局搜索打印命令
    ulimit shell启动进程所占用的资源命令
    nginx 一键安装
    安装 nginx
    学习笔记::杜教筛
    markdown测试
    bzoj4589
  • 原文地址:https://www.cnblogs.com/TheRoadToTheGold/p/7356303.html
Copyright © 2011-2022 走看看