题目链接:[清华集训2012]串珠子


因为得到的是一个连通图,所以我们可以考虑用任意连边的方案数减去不连通的方案数。

对于不连通的方案数,我们可以让一个子集连通,然后另一个子集随意连边。但是这样子集转移的时候是会计算重复的,所以我们可以考虑固定一个点,然后对于其他点来说就是与固定的点连通,然后不与固定的点连通。固定一个点也就是减去一个点,具体实现可以通过异或掉最低位来解决。


AC代码:

#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=16,mod=1e9+7;
int n,g[N][N],dp[1<<N],num[1<<N];
signed main(){cin>>n;for(int i=0;i<n;i++) for(int j=0;j<n;j++) cin>>g[i][j];for(int i=0;i<(1<<n);i++){num[i]=1;for(int j=0;j<n;j++)for(int k=j+1;k<n;k++)if((i>>j&1)&&(i>>k&1)) num[i]=num[i]*(g[j][k]+1)%mod;}for(int s=0,k;s<(1<<n);s++){dp[s]=num[s],k=(s&(-s))^s;for(int ss=(s-1)&k;ss;ss=(ss-1)&k)dp[s]=(dp[s]-dp[s^ss]*num[ss]%mod+mod)%mod;}cout<<dp[(1<<n)-1];return 0;
}

[清华集训2012]串珠子相关推荐

  1. P5933 [清华集训2012]串珠子(连通性 状压 计数)

    P5933 [清华集训2012]串珠子 \(\color{yellow}{\bigstar\texttt{Trick}}\):遇到连通性题可以暂时忽略是否联通. 设 \(g_s\) 表示集合为 \(s ...

  2. P2260 [清华集训2012]模积和,P2834 能力测验(二维除法分块)

    P2260 [清华集训2012]模积和 推导过程 我们假定n<=mn <= mn<=m ∑i=1n∑j=1m(nmodi)(mmodj),i≠j\sum_{i = 1} ^{n} ...

  3. BSOJ 4062 -- 【清华集训2012】串珠子

    Description 铭铭有n个十分漂亮的珠子和若干根颜色不同的绳子.现在铭铭想用绳子把所有的珠子连接成一个整体. 现在已知所有珠子互不相同,用整数1到n编号.对于第i个珠子和第j个珠子,可以选择不 ...

  4. bzoj2560串珠子 状压dp+容斥(?)

    2560: 串珠子 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 515  Solved: 348 [Submit][Status][Discuss ...

  5. 2016清华集训滚粗记

    DAY-1 白天还要去上学... 晚上吃了顿火锅就直接去火车站了... 都没有时间陪妹子看<你的名字>! 上火车之前好像知道了在绵阳发生的一些奇怪的事情... 在火车上和光老师周鹏还有jk ...

  6. BZOJ 2560: 串珠子 (状压DP+枚举子集补集+容斥)

    (Noip提高组及以下),有意者请联系Lydsy2012@163.com,仅限教师及家长用户. 2560: 串珠子 Time Limit: 10 Sec Memory Limit: 128 MB Su ...

  7. UOJ #274. 【清华集训2016】温暖会指引我们前行 [lct]

    #274. [清华集训2016]温暖会指引我们前行 题意比较巧妙 裸lct维护最大生成树 #include <iostream> #include <cstdio> #incl ...

  8. [清华集训2016]石家庄的工人阶级队伍比较坚强——三进制FWT

    题目链接: [清华集训2016]石家庄的工人阶级队伍比较坚强 题目大意:有$n=3^m$个人玩石头剪刀布,共$t$轮游戏,每轮每个人要和包括自己的所有人各进行$m$次石头剪刀布.每个人在$m$轮中的决 ...

  9. 【清华集训2016】数据交互

    [清华集训2016]数据交互 比较神的\(DDP\). 首先对于给出的一条链我们分两部分统计:\(lca\)以及其他部分. 我们设两个变量\(w_i,g_i\).一条路径的权值就是路径上所有点的\(w ...

最新文章

  1. 再读UNPv1:复习、实践、小结
  2. Java与C/C++的比较(转)
  3. flutter实现(OutlineButton)线框按钮
  4. android intent传对象,startActivityForResult使用, setResult(RESULT_OK)使用,getArguments(),
  5. ubuntu16.04 计算视觉算法相关软件安装 亲测可用
  6. SQL中,where 与 having 的性能比较
  7. 企业域名备案流程_2021境外投资备案申报流程(办理企业境外投资证书注意事项)...
  8. mybatis-plus 会自动增加 order by_自动化常见问题:SCL、变压器、欧姆龙软件、机器人控制分享...
  9. 定义一个圆形类Circle
  10. 河南科技大学计算机专业专升本,河南科技大学成人高考计算机应用技术专业的课程有哪些...
  11. [转]ASP.NET MVC中你必须知道的13个扩展点
  12. 虚拟化--062 vsphere workstation bios启动
  13. python爬虫qq音乐_Python爬虫-QQ音乐无损音乐地址解析
  14. 阿里西西网页特效代码演示中心-QQ在线客服代码演示
  15. 一次从ZoomeyeAPI脚本编写到提权的***实践
  16. xp系统 共享文件夹服务器,WinXP如何共享文件夹?共享文件夹的方法
  17. Windows 10 解决无法完整下载安装语言包(日语输入法无法下载使用)
  18. android环信接收透传,环信透传
  19. 布兰迪斯大学计算机美国大学排名,布兰迪斯大学排名
  20. 二、H5全景图-朋友圈全景图-720°全景-VR ---- 项目简单分析

热门文章

  1. Vue.js 使用script或template标签创建组件模板内容
  2. 支持可变焦和自动变焦工业相机
  3. python写微信公众号文章_python如何导出微信公众号文章
  4. 现在python 流行哪个版本好_python3哪个版本稳定-女性时尚流行美容健康娱乐mv-ida网...
  5. dell 工作站装linux_戴尔推出全新Precision Precision移动工作站系列,由Ubuntu Linux提供支持...
  6. Java中POJO、VO、DTO、PO、Entity、domain的区别
  7. mysql是否truncate分区_MySQL的TRUNCATE使用
  8. 人工智能OA期刊,推荐给需要的UU们
  9. c语言复数除法结构体,试用C语言的结构类型定义表示复数的抽象数据类型。
  10. 电脑计算机软件硬盘不足,电脑硬盘存储空间严重不足,软件没几个。但是130G的几个盘都满了...