题目大意

问多少边的子集仍然是强联通的。

DP

设f[i]表示点集为i有多少边的子集强联通。
考虑补集转化,如果不是强联通,缩点后会形成一个DAG。用总的减去非法。
考虑容斥,枚举出度为0的点的点集j,那么如果包含奇数个强连通分量,则表示至少j个出度为0,容斥系数为负,否则容斥系数为正。
那么,我们可以设g[i]表示点集为i有多少边的子集形成奇数个互相之间没有边的强联通分量 ,h[i]表示点集为i有多少边的子集形成偶数个互相之间没有边的强联通分量。
g[i]=∑f[j]∗h[i−j]g[i]=\sum f[j]*h[i-j]
h[i]=∑f[j]∗g[i−j]h[i]=\sum f[j]*g[i-j]
为了不计重,j必须包含i中编号最小的点。
然后f也容易计算了。
f[i]=2i中点互相的连边−∑(h[j]−g[j])∗2i−j中点到i中点的连边f[i]=2^{i中点互相的连边}-\sum (h[j]-g[j])*2^{i-j中点到i中点的连边}

#include<cstdio>
#include<algorithm>
#define fo(i,a,b) for(i=a;i<=b;i++)
#define lowbit(x) (x&-x)
using namespace std;
typedef long long ll;
const int maxn=15+10,mo=1000000007;
int cnt[maxn][33000],mi[300],id[33000];
int f[33000],g[33000],h[33000];
int i,j,k,l,t,n,m,tot,top,num,ans;
int main(){scanf("%d%d",&n,&m);fo(i,1,n) id[1<<(i-1)]=i;mi[0]=1;fo(i,1,m){mi[i]=(ll)mi[i-1]*2%mo;scanf("%d%d",&j,&k);cnt[j][1<<(k-1)]++;}fo(i,1,n)fo(j,1,(1<<n)-1)cnt[i][j]=cnt[i][lowbit(j)]+cnt[i][j-lowbit(j)];h[0]=1;fo(i,1,(1<<n)-1){if (i==lowbit(i)){f[i]=g[i]=1;h[i]=0;continue;}tot=0;/*fo(j,1,n)if (i&(1<<(j-1))) tot+=cnt[j][i];*/k=i;while (k){t=lowbit(k);tot+=cnt[id[t]][i];k-=t;}f[i]=mi[tot];j=i;while (1){j=(j-1)&i;if (!j) break;if (j&lowbit(i)){(g[i]+=(ll)f[j]*h[i-j]%mo);if (g[i]>=mo) g[i]-=mo;(h[i]+=(ll)f[j]*g[i-j]%mo);if (h[i]>=mo) h[i]-=mo;}tot=0;/*fo(k,1,n) if ((i-j)&(1<<(k-1))) tot+=cnt[k][i];*/k=i-j;while (k){t=lowbit(k);tot+=cnt[id[t]][i];k-=t;}(f[i]-=(ll)g[j]*mi[tot]%mo)%=mo;(f[i]+=mo)%=mo;(f[i]+=(ll)h[j]*mi[tot]%mo);if (f[i]>=mo) f[i]-=mo;}(f[i]+=h[i]);if (f[i]>=mo) f[i]-=mo;(f[i]-=g[i])%=mo;(f[i]+=mo)%=mo;(g[i]+=f[i]);if (g[i]>=mo) g[i]-=mo;}ans=f[(1<<n)-1];printf("%d\n",ans);
}

[bzoj3812]主旋律相关推荐

  1. 【清华集训2014】【BZOJ3812】主旋律

    Description 响应主旋律的号召,大家决定让这个班级充满爱,现在班级里面有 n 个男生. 如果 a 爱着 b,那么就相当于 a 和 b 之间有一条 a→b 的有向边.如果这 n 个点的图是强联 ...

  2. 【uoj#37/bzoj3812】[清华集训2014]主旋律 状压dp+容斥原理

    题目描述 求一张有向图的强连通生成子图的数目对 $10^9+7$ 取模的结果. 题解 状压dp+容斥原理 设 $f[i]$ 表示点集 $i$ 强连通生成子图的数目,容易想到使用总方案数 $2^{sum ...

  3. 2019年区块链的主旋律是中间层协议

    2019年区块链的主旋律是中间层协议 过去一年加密资产市场从其峰值下跌超过85%的市值.但对我,一个坚定的区块链企业家,这实际上是一件好事,区块链的未来看起来比以往任何时候都更有希望.2017年ICO ...

  4. 细分将成为2011手机市场的主旋律

    苹果要推小尺寸iPhone的传闻,3D手机上市,诺基亚与微软的牵手--新年刚过的手机市场因为巨头们的蠢蠢欲动而异常精彩.在刚刚过去的2010年里,iPhone4唱主角,从上市到缺货,再到移动联通为iP ...

  5. 拉伯证券|社会消费复苏将是2023年主旋律

    安排指出,兔年新年黄金周社会消费平稳复苏.全国范围看,依据国家税务总局增值税发票数据,2023年新年黄金周(1月21日-27日,阴历岁除至正月初六),全国消费相关工作销售收入同比2022年新年假日添加 ...

  6. 叫春、主旋律、本山大叔的硬伤和春晚苍蝇

    2011的春晚演完了.基本上节目都看了,但是觉得自己好像吃了个苍蝇. [@more@] 至少一半的内容赤裸裸地歌颂主旋律(这个大家都懂,涵盖和谐各方面的内容),20%再叫叫春(什么讴歌春天如何美好,春 ...

  7. Worktile:突围,企业协作办公的主旋律

    正如马化腾在2016 IT领袖峰会上所言,终端的变化正在激活企业级市场的潜藏潜力.智能手机普及带来移动大潮和万物互联,这两者又孕育了共享经济等新型商业模式.催熟了人工智能等技术.促进了云计算和大数据产 ...

  8. 童年-吉他主旋律+学习教程链接

    主旋律: 教程url: http://v.youku.com/v_show/id_XMTYwMTE2NTQyOA==.html?spm=a2h0j.8191423.module_basic_relat ...

  9. 让软件项目重回主旋律——“Jolt大奖精选丛书”有奖征文

    Jolt大奖有"软件业界的奥斯卡"的美誉,业内人也普遍认同一本技术书籍只有在获得Jolt大奖之后才能真正奠定经典地位.百度了一下,Jolt大奖的广告词是"震撼全世界&qu ...

  10. 技术驱动才是2B市场的主旋律

    中国企业级IT市场从最早的C/S模式MIS系统建设时代开始,到后来的B/S模式的集中式业务系统建设,再到这几年红火的云计算.大数据,一直以来虽然具体各行业.各企业有些差距,但技术驱动始终是主旋律.2B ...

最新文章

  1. python文本数据处理_从 App 描述介绍文字中发掘 Python 文本数据预处理实例
  2. 这两年的人工智能淘金热 真正赚钱的公司是这几家
  3. 大二暑假周进度报告之四
  4. machine learning (2)-linear regression with one variable
  5. 给Angular初学者介绍一个非常方便的例子学习网站
  6. 2019年6月19日Jerry Wang的SAP SAP Cloud Connector练习
  7. 深度学习 占用gpu内存 使用率为0_深度解析MegEngine亚线性显存优化技术
  8. duilib自定义消息
  9. 【开源】对基于图像背景的字体生成、人体姿势预测、关键点检测、超分辨率等探讨...
  10. C++中宏的定义与用法(现已被内联函数所代替)
  11. 视觉slam第一讲——
  12. SQL Server 2000升级sp4补丁的时候出现“以前进行的程序安装创建了挂起的文件操作”的错误!...
  13. 用户和计算机硬盘系统的接口,硬盘接口类型,教您怎么看硬盘接口的类型
  14. 如何实现微信扫码登录--OAuth2
  15. authentication method 10 not supported
  16. 光学系统像差的计算机模拟实验报告,RLE-ME01-光学系统像差测量实验-实验讲义要点.doc...
  17. 【人工智能算法从图解入手】
  18. C++中二维数组的动态创建于处理(zzl)
  19. 平衡二叉树(Java实现)
  20. ”去他丫的北上广,老子要去成都定居了,Android-Binder机制及AIDL使用

热门文章

  1. 安卓基础框架与四大组件分析
  2. matlab画频谱图
  3. 信息系统项目管理师必背核心考点(十四)变更管理的工作程序
  4. 非常不错的window磁盘清理工具C盘清理
  5. 【转载】win10右下角图标模糊如何解决_win10系统右下角图标突然变模糊怎么办-win7之家
  6. 计算机打印机无法扫描,打印机无法扫描 打印机无法扫描怎么办 4种原因及解决方法...
  7. 英语中比较重要的动词
  8. 坐标旋转次序 欧拉角定义 左乘 右乘
  9. 超详细!联想小新700黑苹果双系统完整教程(1)
  10. 小米 pro 笔记本拆机-加固态