题目:https://atcoder.jp/contests/arc093/tasks/arc093_d

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const int N=,M=(<<)+,mod=1e9+;
int pw(int x,int k)
{int ret=;while(k){if(k&)ret=(ll)ret*x%mod;x=(ll)x*x%mod;k>>=;}return ret;} int n,m,a[N],jc[M],jcn[M],bin[N],f[N][M],ct[M];
bool cmp(int a,int b){return a>b?a:b;}
int C(int n,int m)
{
if(n<||m<||n<m)return ;
return (ll)jc[n]*jcn[m]%mod*jcn[n-m]%mod;
}
void init()
{
bin[]=;for(int i=;i<=;i++)bin[i]=bin[i-]<<;
int lm=bin[n];
jc[]=;for(int i=;i<=lm;i++)jc[i]=(ll)jc[i-]*i%mod;
jcn[lm]=pw(jc[lm],mod-);
for(int i=lm-;i>=;i--)jcn[i]=(ll)jcn[i+]*(i+)%mod;
for(int s=;s<bin[n];s++)
ct[s]=ct[s^(s&-s)]+;
for(int s=;s<bin[n];s++)ct[s]=(ct[s]&)?mod-:;
}
int main()
{
scanf("%d%d",&n,&m); init();
for(int i=;i<=m;i++)scanf("%d",&a[i]);
sort(a+,a+m+,cmp);
f[][]=; int lm=bin[n];
for(int i=;i<=m;i++)
for(int s=;s<bin[n];s++)
{
f[i][s]=f[i-][s];
for(int j=;j<n;j++)
if(s&bin[j])
{
int t=s^bin[j];
int ml=(ll)f[i-][t]*C(lm-a[i]-t,bin[j]-)%mod;
f[i][s]=(f[i][s]+(ll)ml*jc[bin[j]])%mod;
}
}
int ans=;
for(int s=,U=bin[n]-;s<bin[n];s++)
{
ans=(ans+(ll)ct[s]*f[m][s]%mod*jc[U^s])%mod;
}
printf("%lld\n",(ll)ans*lm%mod);
return ;
}

最新文章

  1. 弥补学生时代的遗憾~C#注册表情缘
  2. 02Spring_Ioc和DI介绍
  3. kali Linux Web 渗透测试视频教程— 第六课 网络扫描-nmap与zmap
  4. OI优化开关
  5. [转]EntityFramework走马观花之CRUD(中)
  6. mvn使用问题
  7. sizeof和strlen小结
  8. WIndows 7 与 Debian 7 双系统启动引导
  9. 可以让javascript加快的脚本(收藏了)
  10. 使用flask开发网站后端
  11. 腾讯 AI Lab 计算机视觉中心人脸 &amp; OCR团队近期成果介绍(3)
  12. [Swift]LeetCode1027. 最长等差数列 | Longest Arithmetic Sequence
  13. Office开发必备知识----为什么要释放非托管Com资源
  14. Spark性能优化
  15. JDBCUtils相关
  16. (23/24) webpack实战技巧:如何在webpack环境中使用Json
  17. springmvc启动时报错:找不到类ContextLoaderListener:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
  18. canvas和图片互转
  19. javascript: break跳出多重循环以及退出each循环
  20. 微信小程序scroll-view横向滚动

热门文章

  1. delphi之猥琐的webserver实现
  2. PostgreSQL 在视频、图片去重,图像搜索业务中的应用
  3. 鸿蒙系统开源学习经验分享HarmonyOS[www.allharmonyos.com]
  4. tp框架 MVC模式
  5. FastReport使用教程
  6. jQuery基础--事件处理
  7. 06:(h5*)Vue第六天
  8. [Python3] 024 面向对象 第四弹
  9. dp(过河问题)
  10. wireshark自动化之tshark命令行