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的更多相关文章

  1. CF986C AND Graph

    半年前做的一道题现在还是不会 x&y=0 意味着,x的补集的子集都是和x直接相连的 不妨令图中的点数就是2^n 那么可以直接从x^((1<<n)-1)开始记忆化爆搜,路上遇到的都是 ...

  2. dfs套异或的包含性——cf986C好

    很好的题,想了半天,官方题解的解法更好 这种异或问题的包含性在北邮的校赛里就出现过,需要认真学习一下 /* y和所有合法的x合并,如果没有剪枝,那么复杂度爆炸总共要判(2^n*2^n) 可以考虑如下优 ...

  3. 在$CF$水题の记录

    CF1158C CF1163E update after CF1173 很好,我!expert!掉rating了!! 成为pupil指日可待== 下次要记得合理安排时间== ps.一道题都没写的\(a ...

随机推荐

  1. 常用开发类库支持--UUID及空值处理Optional

    一.java常用类库--UUID --UUID类库的使用非常简单,只需要使用静态方法UUID.randomUUID(就可以正常使用) public class MyUUID { public stat ...

  2. wireshark 识别http的标准

    使用route add 本机ip 255.255.255.255 网关ip metric 1 的方式 会使访问本机ip的连接发送到局域网内,这样wireshark就可以抓取到 但有一点需要注意 如果本 ...

  3. Codeforces Fix a Tree

    Fix a Tree time limit per test2 seconds A tree is an undirected connected graph without cycles. Let' ...

  4. websocket(python)

    1.websocket-server https://github.com/google/pywebsocket git clone https://github.com/google/pywebso ...

  5. flask开发问题小记

    前因 最近在使用flask开发一个APP的后端时出现了一些小问题.我使用sqlalchemy建立了如下多对多关系: 中间表 user_manager_group = db.Table('manage_ ...

  6. 三步完成Source Insight 4.0 破解安装(转)

    转自:https://blog.csdn.net/biubiuibiu/article/details/78044232 三步完成Source Insight 4.0 破解安装   下载地址有更新,之 ...

  7. 转载 Struts2的配置 struts.xml Action详解

    在学习struts的时候,我们一定要掌握struts2的工作原理.只有当我们明确了在struts2框架的内部架构的实现过程,在配置整个struts 的框架时,可以很好的进行逻辑上的配置.接下来我就先简 ...

  8. 【串线篇】SQL映射文件EmployeeDao.xml事项

    Dao.xml或者说是mapper.xml一个意思 id:方法名,相当于这个配置是对于某个方法的实现 ,参数类型不用写,()也不用写 resultType:指定方法运行后的返回值类型全类名:(查询操作 ...

  9. js 判断表单是否为空和是否是有效数字

    判断是否为空和是否是有效数字 <s:form name='form' onsubmit="return myCheck()" method="post" ...

  10. 【leetcode】986. Interval List Intersections

    题目如下: Given two lists of closed intervals, each list of intervals is pairwise disjoint and in sorted ...