http://acm.zju.edu.cn/onlinejudge/showProblem.do?

problemId=4535

一个集合s有n个元素,求满足这种集合序列{s1,s2....sk}使S1 ∩
S2 ∩ ... ∩ Sk =
∅。si是s的子集。

从每一个元素考虑会使问题变得简单。

首先n个元素是相互独立的,单独考虑第i个元素,它在k个子集的全部情况是2^k,当中有一种情况是k个子集都有第i个元素,这一种情况正好不是我们想要的,所以合法的应该是2^k-1。那么n个元素就是( 2^k-1 )^n。

#include <stdio.h>
#include <iostream>
#include <map>
#include <set>
#include <bitset>
#include <list>
#include <stack>
#include <vector>
#include <math.h>
#include <string.h>
#include <queue>
#include <string>
#include <stdlib.h>
#include <algorithm>
//#define LL __int64
#define LL long long
#define ULL unsigned long long
#define eps 1e-9
#define PI acos(-1.0)
using namespace std; const LL mod = 1000000007; LL Pow(LL a, LL b)
{
LL res = 1;
while(b)
{
if(b&1)
res = (res*a)%mod;
b >>= 1;
a = (a*a)%mod;
}
return res;
} int main()
{
LL n,k;
while(~scanf("%lld %lld",&n,&k))
{
LL res = Pow((LL)2,k);
res -= 1;
res = Pow(res,n);
printf("%lld\n",res);
}
return 0;
}

最新文章

  1. 如何使用Service的Context弹出Dialog对话框,即全局性对话框
  2. [WPF]Slider控件常用方法
  3. MySql的一些操作
  4. AOP动态代理解析3-增强方法的获取
  5. freeMarker中list的两列展示
  6. HTMO DOM部分---小练习;列表之间移动、日期选择、好友选中、滑动效果、滚动条效果、飞入飞出效果。
  7. 驾照理论模拟考试系统Android源码下载
  8. _itoa_s, _i64toa_s, _ui64toa_s, _itow_s, _i64tow_s, _ui64tow_s
  9. CentOS 修改默认语言
  10. 升级linux内核(2.6.32-&gt;3.10.81),安装docker
  11. 4.ES核心慨念
  12. [转]web服务器压力测试工具
  13. python3基本数据类型
  14. 学习笔记-canny边缘检测
  15. Groovy学习笔记-动态类型
  16. Failed to start end point associated with ProtocolHandler [&quot;http-nio-8080&quot;]
  17. java与json,一篇就够了
  18. 4、线程范围内的数据共享之ThreadLocal
  19. eclipse 开发 spring 、 springboot项目调试时一直跳转到 SilentExitExceptionHandler.exitCurrentThread 方法
  20. C语言发展历程及其保留字(关键字)——附:C语言标准文档

热门文章

  1. React入门 (2)—实现微博展示列表
  2. php判断检测一个数组里有没有重复的值
  3. C++线段树模板(区间和、区间加)
  4. 购物平台webApp+服务后台开发
  5. [Codeforces 32E] Hide-and-Seek
  6. AtCoder - 2567 RGB Sequence
  7. 洛谷 P3803 多项式乘法
  8. 【动态规划】【记忆化搜索】CODEVS 3415 最小和 CodeVS原创
  9. [HNOI/AHOI2018]寻宝游戏
  10. 使用shell生成随机数