一道不知道哪里来的容斥题
题意:
容斥二进制意义下至少哪些位置不相等。
#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
一道不知道哪里来的容斥题相关推荐
- 20200515省选模拟赛B、幻化成风(毒瘤容斥题+构造容斥系数+生成函数+hash状压DP+Trie树优化背包)
题解 花了一上午+一中午终于把这道题A了 首先,我们要求的是bi互不相同的合法方案数 我们可以枚举一个a的集合S,来强制里面的b全部都相同,然后其它的随便放 由于这个题的n的约数非常多,我们可以把它质 ...
- P3160:局部极小值(容斥、状压)
解析 又是一道我不会的容斥题 qwq 本题的一个关键性质:答案有解时,极小值不超过8个 所以可以对其进行状压 考虑从小到大填数 那么在极小值填完之前,它的八连通必然是不能填的 设计dpi,sdp_{i ...
- 2019牛客多校四 E. triples II (容斥)
大意: 给定$n,a$, 求$n$个$3$的倍数, $or$和为$a$的方案数. 简单容斥题 可以求出$f_{x,y}$表示所有$3$的倍数中, 奇数位不超过$x$个$1$, 偶数位不超过$y$个$1 ...
- HDU - 5468 Puzzled Elena (容斥/莫比乌斯)
做了好几个容斥了,一直找不到feel,这个做完在现在有一点感觉了.虽然刚开始也不会.但就是发现感觉不一样了. 首先,不考虑树的关系,单纯给出一个m,还有一个集合(里面数字任意),求集合里面跟m互质的数 ...
- 欧拉函数的一道练习题(附加容斥做法)
jzd同学今天告诉了我们一道关于欧拉函数的题,一开始觉得毫无头绪,当身旁的erge同学切完开始装(xiao)逼(zhang)的时候,他无意间透露的欧拉函数四个字启发了我,最近做了一道很相似的题HDU1 ...
- [杂题训练]CF1228E Another Filling the Grid(容斥),CF936C Lock Puzzle(构造)
文章目录 T1:CF1228E Another Filling the Grid solution code T2:CF936C Lock Puzzle solution code T1:CF1228 ...
- 51nod1667-概率好题【容斥,组合数学】
正题 题目链接:http://www.51nod.com/Challenge/Problem.html#problemId=1667 题目大意 两个人. 第一个人有k1k_1k1个集合,第iii个包 ...
- 【POJ - 1741】Tree(树分治,容斥,点分治,模板题)
题干: Give a tree with n vertices,each edge has a length(positive integer less than 1001). Define dist ...
- 吉首大学新星杯L题 小李子的老年生活【容斥好题(只是问题比较裸)】
传送门 // 题意就是给定一个n, 求1 - n 中与n互质的数的平方和. // 思路: 问题我们可以进行转换, 就是我们得到1 - n的所有数的平方和, 然后我们要做的就是减去n的素数因子(不是素数 ...
- 【每日一题】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 ...
最新文章
- 业界 | 5个步骤开启你的数据科学职业生涯!(附链接)
- java 读 xml_Java读写XML代码示例
- Stackoverflow上人气最旺的十个Java问题
- java 的“mwq”_java的对象模型 - osc_mwqvsfzo的个人空间 - OSCHINA - 中文开源技术交流社区...
- c语言 case语句用法,switch ... case语句的用法[组图]
- 电脑如何设置终端设置代理_如何设置一个严肃的Kubernetes终端
- lambda表达式相关
- 网站运营过程中经常触碰的几大误区
- scws sphinx mysql_Sphinx系列文章\SCWS中文分词
- 26个常用的方法优化 ASP.NET 的性能
- DLL中的自定义类型含有非导出公开字段,从而产生Release版本运行异常
- Python的一些单行代码(摘抄)
- atitit.eclipse有多少api 扩展点,以及扩展点的设计
- 高赞 GitHub 项目盘点:给力的 Spring 教程
- 程序人生(计算机系统大作业)
- 5.2 Photoshop复制图层的几种方式 [原创Ps教程]
- 给yarn配置国内镜像加速器
- http://trans.godict.com/index.php
- 紫罗兰永恒花园rust简谱_Sincerely钢琴谱_TRUE_紫罗兰永恒花园OP
- 2017春季实习生面试经历+找实习攻略