CF986C
CF986C
给\(A_i\)连一条向补集的边和子集的边,然后dfs求联通块数
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int M = 7000001;
int n,m,k,f[M],s[25],N,g[M],d[M],a[M];
void dfs(int x)
{
if(f[x]) return ;
f[x]=1;
if(g[x]) dfs((1<<n)-1-x);
for(int i=0;i<=n;i++) if(x&(1<<i)) dfs(x-(1<<i));
}
int main()
{
scanf("%d%d",&n,&m);// N=m;
for(int i=1;i<=m;i++)
{
scanf("%d",&a[i]);
g[a[i]]=1;//g[(1<<n)-1-a[i]]=1;
}
for(int i=1;i<=m;i++)
if(!f[a[i]]) dfs((1<<n)-1-a[i]),N++;
printf("%d",N);
}
CF986C的更多相关文章
- CF986C AND Graph
半年前做的一道题现在还是不会 x&y=0 意味着,x的补集的子集都是和x直接相连的 不妨令图中的点数就是2^n 那么可以直接从x^((1<<n)-1)开始记忆化爆搜,路上遇到的都是 ...
- dfs套异或的包含性——cf986C好
很好的题,想了半天,官方题解的解法更好 这种异或问题的包含性在北邮的校赛里就出现过,需要认真学习一下 /* y和所有合法的x合并,如果没有剪枝,那么复杂度爆炸总共要判(2^n*2^n) 可以考虑如下优 ...
- 在$CF$水题の记录
CF1158C CF1163E update after CF1173 很好,我!expert!掉rating了!! 成为pupil指日可待== 下次要记得合理安排时间== ps.一道题都没写的\(a ...
随机推荐
- 注册服务到服务中心(Consul)
注册服务到服务中心(Consul) 添加POM文件中的依赖 在POM文件添加如下依赖: <dependency> <groupId>org.springframework.bo ...
- 点击td对同行的其他td进行操作
假设有这样的一段tr: <tr> <td><input type="checkbox" name="item" class=&qu ...
- flex 的经典用法
Document 11 21 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 191 201 211 221 231 241 25 ...
- mac OS 安装 Homebrew及常用命令
Homebrew 是由国外大神 Max Howell 开发的一款包管理工具,类似Debian的apt,他可以安装任何你想安装的东西. 安装方法 命令行输入 /usr/bin/ruby -e &quo ...
- brew install ''package卡在Updating Homebrew
关闭自动更新: export HOMEBREW_NO_AUTO_UPDATE=true
- 力扣——Partition List(分隔链表) python实现
题目描述: 中文: 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前. 你应当保留两个分区中每个节点的初始相对位置. 示例: 输入: head = ...
- SessionFactory是线程安全的吗?Session是线程安全的吗?两个线程能共享一个Session吗?
(1)SessionFactory对应Hibernate的一个数据存储的概念,它是线程安全的,可以被多个线程并发访问.SessionFactory一般只会在启动的时候构建.对于应用程序,最好将Sess ...
- mysql-alter语句常用操作
删除列 alter table table-name drop col-name 增加列(多列) alter table table-name add col-name col-type commen ...
- ivew 修改排序号的逻辑
排序号修改的逻辑 1.构建修改排序号传递的参数 formInline2:{ recommendType:4, //产品类型 merchantCodes:[], //产品code discountRec ...
- 在scite编辑器中使用astyle格式化c代码
用 vc6 很喜欢 alt+F8 的功能. 能够格式化代码. scite 没有这个功能. 今天看它的配置文件发现这么两行: command.name.0.*.cxx=Indent command.0. ...