洛谷P3857 [TJOI2008]彩灯(线性基)
线性基裸题
直接把所有的状态都带进去建一个线性基
然后答案就是$2^{cnt}$($cnt$代表线性基里数的个数)
//minamoto
#include<cstdio>
#include<cstring>
#define ll long long
const int N=;
ll b[N],a[N];int n,m,cnt;char s[N];
inline void insert(ll x){
for(int i=;i>=;--i)
if(x>>i&){
if(!b[i]) return (void)(b[i]=x,++cnt);
x^=b[i];
}
}
int main(){
scanf("%d%d",&n,&m);
for(int i=;i<=m;++i){
scanf("%s",s);
for(int j=;j<n;++j)
if(s[j]=='O') a[i]|=1ll<<j;
}
for(int i=;i<=m;++i) insert(a[i]);
printf("%lld\n",(1ll<<cnt)%);
return ;
}
洛谷P3857 [TJOI2008]彩灯(线性基)的更多相关文章
- 洛谷P3857 [TJOI2008]彩灯 [线性基]
题目传送门 彩灯 题目描述 Peter女朋友的生日快到了,他亲自设计了一组彩灯,想给女朋友一个惊喜.已知一组彩灯是由一排N个独立的灯泡构成的,并且有M个开关控制它们.从数学的角度看,这一排彩灯的任何一 ...
- [洛谷P3857][TJOI2008]彩灯
题目大意:有$n$盏灯,$m$个开关($n,m\leqslant 50$),每个开关可以控制的灯用一串$OX$串表示,$O$表示可以控制(即按一下,灯的状态改变),$X$表示不可以控制,问有多少种灯的 ...
- 洛谷.3733.[HAOI2017]八纵八横(线性基 线段树分治 bitset)
LOJ 洛谷 最基本的思路同BZOJ2115 Xor,将图中所有环的异或和插入线性基,求一下线性基中数的异或最大值. 用bitset优化一下,暴力的复杂度是\(O(\frac{qmL^2}{w})\) ...
- BZOJ 2460 & 洛谷 P4570 [BJWC2011]元素 (线性基 贪心)
题目链接: 洛谷 BZOJ 题意 给定 \(n\) 个矿石,每个矿石有编号和魔力值两种属性,选择一些矿石,使得魔力值最大且编号的异或和不为 0. 思路 线性基 贪心 根据矿石的魔力值从大到小排序. 线 ...
- 洛谷3857 [TJOI2008]彩灯
题目描述 已知一组彩灯是由一排N个独立的灯泡构成的,并且有M个开关控制它们.从数学的角度看,这一排彩灯的任何一个彩灯只有亮与不亮两个状态,所以共有2N个样式.由于技术上的问题,Peter设计的每个开关 ...
- 洛谷P4570 [BJWC2011]元素 线性基
正解:线性基+贪心 解题报告: 传送门! 这题其实没什么好写题解的,,,显然贪心一下尽量选魔力大的,不用证明趴挺显然的来着 所以就直接按魔力排个序,插入线性基里面,能插就加个贡献,over 放下代码趴 ...
- [TJOI2008]彩灯 线性基
题面 题面 题解 题意:给定n个01串,求互相异或能凑出多少不同的01串. 线性基的基础应用. 对于线性基中的01串,如果我们取其中一些凑成一个新的01串,有一个重要的性质:任意2个不同方案凑出的01 ...
- luogu 3857 [TJOI2008]彩灯 线性基
可以将每一个开关控制的灯的序列看作是0/1组成的二进制. 由于灯的开和关是满足异或的性质的,所以直接求一下线性基大小即可. 答案为 $2^{size}.$ #include <cstdio> ...
- 洛谷 P3857 彩灯 题解
题面 对于每一个开关,我们可以看成一个0/1串,初始是一个全部为0的串,要求经过这些开关的操作后,出现的不同的0/1串的个数 建模就是存在一些数,这些数异或起来是0(等价于没有操作).那么需要求一个集 ...
随机推荐
- flume topology design . tier num 分层数目
32:+:1 x:1 x<=8 https://flume.apache.org/FlumeUserGuide.html#flume-topology-design Flume topology ...
- HP叫魔术方法的函数
PHP5.0后,php面向对象提成更多方法,使得php更加的强大!! 一些在PHP叫魔术方法的函数,在这里介绍一下:其实在一般的应用中,我们都需要用到他们!! 1.__construct() 当实例化 ...
- ZOJ - 3935 2016 【数的筛选】
题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3935 题意 要求找出 从 2016-990528 中 是闰年 并 ...
- KeyChain相关参数的说明
#pragma mark- 密钥类型 //密钥类型键 //CFTypeRef kSecClass // //值 //CFTypeRef kSecClassGenericPassword ...
- java后台判断发布的图片是否存在
x现在已知一个固定格式的图片,判断图片是否存在例如,http://127.0.0.1/image/201709091300.jpg import java.net.URL;import java.ne ...
- java 接口自动化测试之数据请求的简单封装
我们自己用java写接口自动化测试框架或者做个接口自动化测试平台的话,是需要自己进行相关的请求的,因此我们需要简单的封装下httpclient,我新建了一个http工具类,将get方法和post方法进 ...
- 关于C语言声明数组时省略长度
C语言在声明数组时必须明确长度,如下两种方式: (一) 直接指定长度.如: int a[5]; (二) 声明时初始化元素.如:int a[]={1,3,5}. 如果,直接int a[]; 是不可以的 ...
- CSS实现文字内容不被截断当超出指定长度时该字符串自动整体换到下一行
效果图: 1.内容不被截断 span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; ...
- liunx目录/etc下相关配置
这些都是比较有实用性的系统配置,收藏下,以备不时之需!以下是etc下重要配置文件解释: 1./etc/hosts #文件格式: IPaddress hostname aliases #文件功能: 提 ...
- vue不支持IE8的原因
当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性, 并使用 Object.defineProperty 把这些属性全部转为 getter ...