博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[SHOI2016] 黑暗前的幻想乡
阅读量:5077 次
发布时间:2019-06-12

本文共 800 字,大约阅读时间需要 2 分钟。

 

    考虑容斥,我们可以求出用的建筑公司的集合至多是S的方案数(也就是最小生成树中的边只能用集合S内的建筑公司内的),这个跑一下矩阵树定理就好啦(注意可以有重边,因为一条边被不同公司建是算不同的方案的)。

    然后再容斥加加减减算一算就好啦。。。

 

    (神TM我一开始忘了去掉一行一列答案一直是0 。。。。)

 

#include
#define ll long longusing namespace std;const int ha=1e9+7;inline int add(int x,int y){ x+=y; return x>=ha?x-ha:x;}inline void ADD(int &x,int y){ x+=y; if(x>=ha) x-=ha;}inline int ksm(int x,int y){ int an=1; for(;y;y>>=1,x=x*(ll)x%ha) if(y&1) an=an*(ll)x%ha; return an;}int n,ci[25],ans,all;bool bt[200005];struct node{ int a[21][21]; inline void clear(){ memset(a,0,sizeof(a));} node operator +(const node &b)const{ node r; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) r.a[i][j]=add(a[i][j],b.a[i][j]); return r; } inline int Get(){ int an=1; for(int i=1,t,v;i

  

转载于:https://www.cnblogs.com/JYYHH/p/9284944.html

你可能感兴趣的文章
IdentityServer4-用EF配置Client(一)
查看>>
WPF中实现多选ComboBox控件
查看>>
读构建之法第四章第十七章有感
查看>>
Windows Phone开发(4):框架和页 转:http://blog.csdn.net/tcjiaan/article/details/7263146
查看>>
Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)【转】
查看>>
python asyncio 异步实现mongodb数据转xls文件
查看>>
TestNG入门
查看>>
【ul开发攻略】HTML5/CSS3菜单代码 阴影+发光+圆角
查看>>
[ZJOI2007]棋盘制作 【最大同色矩形】
查看>>
IOS-图片操作集合
查看>>
模板统计LA 4670 Dominating Patterns
查看>>
团队项目开发客户端——登录子系统的设计
查看>>
IO—》Properties类&序列化流与反序列化流
查看>>
session如何保存在专门的StateServer服务器中
查看>>
react展示数据
查看>>
测试计划
查看>>
选择器
查看>>
Mysql与Oracle 的对比
查看>>
jquery实现限制textarea输入字数
查看>>
thinkphp5 csv格式导入导出(多数据处理)
查看>>