正题

题目链接:https://www.luogu.com.cn/problem/P3857


题目大意

nnn个彩灯,mmm个开关能使得某些彩灯取反,求有多少种彩灯样式。


解题思路

其实就是mmm个数种若干个数异或起来有多少不同的数。

又是一道考线性基性质的题目,因为线性基中任何一个数不为其他数的异或和。也就是在线性基中我们选出若干个数异或起来,选择方案不同结果必然不同。

所以sizsizsiz表示线性基大小的话,答案就是2siz2^{siz}2siz


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=80;
ll n,m,ans,d[N];
char s[N];
void add(ll x){for(ll i=n;i>=0;i--)if((x>>i)&1){if(d[i])x^=d[i];else{ans++;d[i]=x;break;}}return;
}
int main()
{scanf("%lld%lld",&n,&m);for(ll i=1;i<=m;i++){ll x=0;scanf("%s",s);for(ll j=0;j<n;j++)x|=(s[j]=='O')*(1ll<<j);add(x);}printf("%lld",(1ll<<ans)%2008);
}

P3857-[TJOI2008]彩灯【线性基】相关推荐

  1. 洛谷P3857 [TJOI2008]彩灯(线性基)

    传送门 线性基裸题 直接把所有的状态都带进去建一个线性基 然后答案就是$2^{cnt}$($cnt$代表线性基里数的个数) 1 //minamoto 2 #include<cstdio> ...

  2. 高斯消元简单线性代数线性基学习记录

    线性代数,唉 高斯消元 P4035 [JSOI2008]球形空间产生器 题目描述 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标 ...

  3. 线性基+前缀线性基学习笔记

    学习于这个博客 首先,线性基是一个集合,对于任何一个序列一定有至少一个线性基,取线性基中的某些数异或起来一定可以得到原序列中的任何一个数. 线性基三大性质: 1.原序列中的任何一个数都可以由线性基里面 ...

  4. [数学]------线性基

    线性基是什么 线性基是一个数的集合. 对于数的集合 A ,A的线性基是指,在 A 中选取任意多个数进行异或,得到的结果的值域,和 A 的线性基中数字异或的值域相同.这样对原数组元素的异或运算就可以转化 ...

  5. 【线性基】彩灯(luogu 3857/金牌导航 线性基-1)

    彩灯 luogu 3857 金牌导航 线性基-1 题目大意 给若干个01串,让你选择其中一些,问你异或的值有多少种 输入样例 2 3 OO XO OX 输出样例 4 数据范围 1⩽N,M⩽501\le ...

  6. 线性代数 —— 线性基与前缀线性基

    [概述] 线性基,是线性代数中的概念,在信息学竞赛中,前缀线性基是线性基的扩展,他们主要用于处理有关异或和的极值问题. 一组线性无关的向量即可作为一组基底,张起一个线性的向量空间,这个基底即称为线性基 ...

  7. 洛谷3857 [TJOI2008]彩灯

    题目描述 已知一组彩灯是由一排N个独立的灯泡构成的,并且有M个开关控制它们.从数学的角度看,这一排彩灯的任何一个彩灯只有亮与不亮两个状态,所以共有2N个样式.由于技术上的问题,Peter设计的每个开关 ...

  8. [TJOI2008]彩灯

    题目: Peter 女朋友的生日快到了,他亲自设计了一组彩灯,想给女朋友一个惊喜.已知一组彩灯是由一排 N个独立的灯泡构成的,并且有 MM 个开关控制它们.从数学的角度看,这一排彩灯的任何一个彩灯只有 ...

  9. 【线段树分治 线性基】luoguP3733 [HAOI2017]八纵八横

    不知道为什么bzoj没有HAOI2017 题目描述 Anihc国有n个城市,这n个城市从1~n编号,1号城市为首都.城市间初始时有m条高速公路,每条高速公路都有一个非负整数的经济影响因子,每条高速公路 ...

最新文章

  1. 大佬原创 | 深度学习60讲453页pdf下载
  2. oracle归档日志写满错误解决方法
  3. Google Map API 学习六-设置infoWindow的长宽
  4. 监控录像帮忙找回医院被偷的女婴
  5. Windows PE 第十二章 PE变形技术
  6. BJUI验证Input非空和是否为数字
  7. springboot使用j2cache框架和aspectj自定义缓存
  8. react封装函数_React-Router源码解读
  9. plsql如何显示表结构图_工地新人如何看懂图纸
  10. CF653F. Paper task
  11. java set方法赋值_java方面:private属性,没有set方法,只有get方法,如何给这个属性赋值?...
  12. 爱了!华为Mate X 2外观专利图公布:机身更圆润
  13. .net vue漂亮登录界面_6个宝藏级Vue管理后台框架 必须收藏
  14. JasperReport生成PDF中文不显示处理
  15. 【PHP学习】—get请求传递参数(五)
  16. mysql padding_解决RGB模式下图片的padding(补边框)问题(含代码实现)
  17. nvarchar和varchar的区别
  18. jquery发送ajax请求并设置请求头
  19. python定时备份为知笔记数据
  20. java 篮球队淘汰赛_篮球淘汰赛怎么安排 6支篮球队淘汰赛图

热门文章

  1. mysql数据库主要用来做什么的_水晶头骨用来做什么的?
  2. 马斯克脑机接口_马斯克的脑机接口,让我倍感担忧
  3. android布局中画圆角矩形,Android 自定义View之圆角矩形轨迹图
  4. php年月日滚动选择,Unity3d—做一个年月日选择器(Scroll Rect拖动效果优化)— 无限滚动 + 锁定元素...
  5. 微信小程序android错误,app安卓端 跳转到微信小程序失败
  6. 在oracle中游标的操作,Oracle中的游标和函数详解
  7. 7-44 基于词频的文件相似度 (30 分)(思路加详解+set容器简便做法)兄弟们冲呀呀呀呀呀 今天你AC了吗
  8. 浅谈Web前端安全策略xss和csrf,及又该如何预防?
  9. PHP做二次开发:本机安装ThinkCMF系统
  10. windows 禁用ipv6服务_在 Windows 7 中禁用IPv6协议/IPv6隧道