题意:

给一集合 $S = \{ 1,2, ... , n \} $,取两个S的子集 A和B,使得A不是B的子集,且B不是A的子集。

解法:

1.牛顿展开

我们采用容斥,显然有

$$ans(n) = (2^n - 1)^2 - 2* \sum_{k=1}^n{C_n^k * (2^k - 2)} - (2^n-1)$$

$$ans(n) = (2^n - 1)(2^n-2) - 2*(\sum_{k=1}^n{C_n^k *2^k} - 2*\sum_{k=1}^n{C_n^k})$$

$$ans(n) = 4^n - 2*3^n + 2^n$$

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <complex>
#include <cmath>
#include <ctime> using namespace std; #define N 1000010
#define LL long long
#define P 1000000007LL using namespace std; LL power3[N],power2[N]; int main()
{
power3[]=;
power2[]=;
for(int i=;i<N;i++)
{
power3[i] = power3[i-] * 3LL % P;
power2[i] = power2[i-] * 2LL % P;
}
int T,n;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
LL ans = power2[n]*(power2[n]+1LL)%P;
ans = (ans+P-2LL*power3[n]%P)%P;
printf("%I64d\n",ans);
}
return ;
}

2.生成函数(待补)

可以构造出

最新文章

  1. HTML5权威指南--Web Storage,本地数据库,本地缓存API,Web Sockets API,Geolocation API(简要学习笔记二)
  2. python直接执行另一个文件中的代码
  3. js多行省略
  4. 一条诡异的insert语句
  5. Enum:EXTENDED LIGHTS OUT(POJ 1222)
  6. ubuntu系统 刷bios
  7. Ibatis的类型处理器TypeHandler解析
  8. 【BZOJ】1901: Zju2112 Dynamic Rankings(区间第k小+树状数组套主席树)
  9. android里面线程睡眠事件使用方法
  10. 转:MySQL导入.sql文件及常用命令
  11. 深入浅出Node.js (2) - 模块机制
  12. MySql高效分页SQL
  13. HTML需掌握的基础
  14. centos安装中文支持(转)
  15. ASP.NET Core MVC 模型绑定用法及原理
  16. 【十一】jvm 性能调优工具之 jmap
  17. Tarjan 模板,高级并查集
  18. HTML5——Data Url生成
  19. Spring事务管理详解_基本原理_事务管理方式
  20. mybatis-mysql类型映射

热门文章

  1. 使mysql按中文字段排序
  2. 【转载】C#中的==、Equal、ReferenceEqual
  3. 【每日Scrum】第七天(4.28)Sprint2总结性会议
  4. 找回Xcode7的代码折叠功能
  5. 《Android Studio有用指南》7.1 AndroidStudio代码检查工具概述
  6. bzoj1458 士兵占据
  7. git 下载与Linux源码安装最新版
  8. xpath 节点1
  9. IGP和EGP(转载)
  10. 一堂C++课玩转rpm包的制作