题意:

容斥二进制意义下至少哪些位置不相等。

#include<iostream>
#include<cctype>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<ctime>
#include<cstdlib>
#include<algorithm>
#define N 2200000
#define L 2000000
#define eps 1e-7
#define inf 1e9+7
#define db double
#define ll long long
#define ldb long double
using namespace std;
inline ll read()
{char ch=0;ll x=0,flag=1;while(!isdigit(ch)){ch=getchar();if(ch=='-')flag=-1;}while(isdigit(ch)){x=(x<<3)+(x<<1)+ch-'0';ch=getchar();}return x*flag;
}
const ll mo=998244353;
ll ksm(ll x,ll k)
{ll ans=1;while(k){if(k&1)ans=ans*x%mo;k>>=1;x=x*x%mo;}return ans;
}
ll a[N],f[N],mi[N];
int main()
{ll n=read(),ans;mi[0]=1;for(ll i=1;i<=n;i++)a[i]=read(),mi[i]=(mi[i-1]*2)%mo;for(ll i=1;i<=(1<<20)-1;i++)f[i]=f[i>>1]+(i&1);ans=mi[n]-2;ans=(ans*ksm(2,mo-2))%mo;for(ll s=0;s<=(1<<20)-1;s++){ll cnt=0;for(ll i=1;i<=n;i++)if(s==(a[i]&s))cnt++;if(cnt==0||cnt==n)continue;if(f[s]&1)ans=(ans-(mi[cnt]-1))%mo;else ans=(ans+(mi[cnt]-1))%mo;}printf("%lld",(ans%mo+mo)%mo);return 0;
}

转载于:https://www.cnblogs.com/Creed-qwq/p/10342758.html

一道不知道哪里来的容斥题相关推荐

  1. 20200515省选模拟赛B、幻化成风(毒瘤容斥题+构造容斥系数+生成函数+hash状压DP+Trie树优化背包)

    题解 花了一上午+一中午终于把这道题A了 首先,我们要求的是bi互不相同的合法方案数 我们可以枚举一个a的集合S,来强制里面的b全部都相同,然后其它的随便放 由于这个题的n的约数非常多,我们可以把它质 ...

  2. P3160:局部极小值(容斥、状压)

    解析 又是一道我不会的容斥题 qwq 本题的一个关键性质:答案有解时,极小值不超过8个 所以可以对其进行状压 考虑从小到大填数 那么在极小值填完之前,它的八连通必然是不能填的 设计dpi,sdp_{i ...

  3. 2019牛客多校四 E. triples II (容斥)

    大意: 给定$n,a$, 求$n$个$3$的倍数, $or$和为$a$的方案数. 简单容斥题 可以求出$f_{x,y}$表示所有$3$的倍数中, 奇数位不超过$x$个$1$, 偶数位不超过$y$个$1 ...

  4. HDU - 5468 Puzzled Elena (容斥/莫比乌斯)

    做了好几个容斥了,一直找不到feel,这个做完在现在有一点感觉了.虽然刚开始也不会.但就是发现感觉不一样了. 首先,不考虑树的关系,单纯给出一个m,还有一个集合(里面数字任意),求集合里面跟m互质的数 ...

  5. 欧拉函数的一道练习题(附加容斥做法)

    jzd同学今天告诉了我们一道关于欧拉函数的题,一开始觉得毫无头绪,当身旁的erge同学切完开始装(xiao)逼(zhang)的时候,他无意间透露的欧拉函数四个字启发了我,最近做了一道很相似的题HDU1 ...

  6. [杂题训练]CF1228E Another Filling the Grid(容斥),CF936C Lock Puzzle(构造)

    文章目录 T1:CF1228E Another Filling the Grid solution code T2:CF936C Lock Puzzle solution code T1:CF1228 ...

  7. 51nod1667-概率好题【容斥,组合数学】

    正题 题目链接:http://www.51nod.com/Challenge/Problem.html#problemId=1667 题目大意 两个人. 第一个人有k1k_1k1​个集合,第iii个包 ...

  8. 【POJ - 1741】Tree(树分治,容斥,点分治,模板题)

    题干: Give a tree with n vertices,each edge has a length(positive integer less than 1001). Define dist ...

  9. 吉首大学新星杯L题 小李子的老年生活【容斥好题(只是问题比较裸)】

    传送门 // 题意就是给定一个n, 求1 - n 中与n互质的数的平方和. // 思路: 问题我们可以进行转换, 就是我们得到1 - n的所有数的平方和, 然后我们要做的就是减去n的素数因子(不是素数 ...

  10. 【每日一题】Steps to One (容斥+错位相减)cf1139D

    题目链接 前置推论: 1.长度为1的序列只可能是一个1. 2.假设当前的序列长度为 k + 1 k+1 k+1,且前 k k k个数的 g c d = a gcd=a gcd=a不为1的话,那么第 k ...

最新文章

  1. 业界 | 5个步骤开启你的数据科学职业生涯!(附链接)
  2. java 读 xml_Java读写XML代码示例
  3. Stackoverflow上人气最旺的十个Java问题
  4. java 的“mwq”_java的对象模型 - osc_mwqvsfzo的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. c语言 case语句用法,switch ... case语句的用法[组图]
  6. 电脑如何设置终端设置代理_如何设置一个严肃的Kubernetes终端
  7. lambda表达式相关
  8. 网站运营过程中经常触碰的几大误区
  9. scws sphinx mysql_Sphinx系列文章\SCWS中文分词
  10. 26个常用的方法优化 ASP.NET 的性能
  11. DLL中的自定义类型含有非导出公开字段,从而产生Release版本运行异常
  12. Python的一些单行代码(摘抄)
  13. atitit.eclipse有多少api  扩展点,以及扩展点的设计
  14. 高赞 GitHub 项目盘点:给力的 Spring 教程
  15. 程序人生(计算机系统大作业)
  16. 5.2 Photoshop复制图层的几种方式 [原创Ps教程]
  17. 给yarn配置国内镜像加速器
  18. http://trans.godict.com/index.php
  19. 紫罗兰永恒花园rust简谱_Sincerely钢琴谱_TRUE_紫罗兰永恒花园OP
  20. 2017春季实习生面试经历+找实习攻略

热门文章

  1. 简单的Python购物流程
  2. 【Angularjs文档翻译及实例】DOM事件
  3. oracle 10g在线重定义新特性——关联对象自动重命名(二)
  4. iOS网络编程--ASIHTTPRequest框架安装和配置-图文解说
  5. Django 系列博客(二)
  6. 获取地址栏的最后一个文件
  7. Spark on YARN的部署
  8. 深入理解Java虚拟机--笔记1
  9. (tip_修订0618)bmp 32位转24位
  10. Node.js 应该用在什么地方