彩灯

luogu 3857

金牌导航 线性基-1

题目大意

给若干个01串,让你选择其中一些,问你异或的值有多少种

输入样例

2 3
OO
XO
OX

输出样例

4

数据范围

1⩽N,M⩽501\leqslant N,M\leqslant 501⩽N,M⩽50

解题思路

对于原来的01串,先求出其线性基(大小为k)
根据集合中的任何数能且只能由线性基中的一种组合异或而得
结果就是2k2^k2k

代码

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
#define wyc 2008
using namespace std;
ll n, m, ans, d[60];
string str;
int main()
{scanf("%lld%lld", &n, &m);ans = 1;for (ll i = 1; i <= m; ++i){cin>>str;ll x = 0;for (int j = 0; j < n; ++j)x = x * 2 + (str[j] == 'O'? 1: 0);for (int j = 50; j >= 0; --j)if (x & (1ll<<j))//求线性基{if (d[j]) x ^= d[j];else{d[j] = x;ans = ans * 2 % wyc;//计算结果break;}}}printf("%lld", ans);return 0;
}

【线性基】彩灯(luogu 3857/金牌导航 线性基-1)相关推荐

  1. 【DP】【树状数组】方伯伯的玉米田/优美玉米(luogu 3287/金牌导航 数据结构优化DP-5)

    正题 luogu 3287 金牌导航 数据结构优化DP-5 题目大意 有n个玉米,给出高度,你可以选择一个区间,使这个区间的玉米高度+1,你可以进行k次这样的操作,查询你操作完后最长不下降子序列最大值 ...

  2. 【DP】【树状数组】免费馅饼(luogu 7302/金牌导航 数据结构优化DP-4)

    正题 luogu 7302 金牌导航 数据结构优化DP-4 题目大意 在坐标轴上会出现n个金币,第i个金币tit_iti​时在wiw_iwi​出现(只出现一个单位时间),价值为sis_isi​,当你t ...

  3. 【DP】【线段树】基站选址(luogu 2605/金牌导航 数据结构优化DP-2)

    正题 luogu 2605 金牌导航 数据结构优化DP-2 题目大意 有若干个村庄在一条直线上,距离第一个村庄did_idi​,在该村庄建立基站要花费cic_ici​,如果在离该村不大于sis_isi ...

  4. 【LCT】城市旅行(luogu 4842/金牌导航 LCT-3)

    正题 luogu 4842 金牌导航 LCT-3 题目大意 给你一棵树,让你进行一些操作: 1.删除一条边 2.连接一条边 3.给一条路径上的点加上x 4.给出一条路径,在该路径选取两个点,求这两个点 ...

  5. 【LCT】弹飞绵羊(luogu 3203/金牌导航 LCT-2)

    正题 luogu 3203 金牌导航 LCT-2 题目大意 给你n个格子,当你在第i个格子时,可以往后跳aia_iai​格,让你进行几下操作: 1.修改第i个数 2.查询在第i个格子跳多少下会跳出界 ...

  6. 【树链剖分】染色(luogu 2486/金牌导航 树链剖分-3)

    正题 luogu 2486 金牌导航 树链剖分-3 题目大意 给你一棵树,让你进行以下操作: 1.把一条路径染上一个颜色 2.查询一条路径上有多少个颜色段 解题思路 用树链剖分把问题转化为链上问题 然 ...

  7. 【树链剖分】软件管理(luogu 2146/金牌导航 树链剖分-2)

    正题 luogu 2146 金牌导航 树链剖分-2 题目大意 有若干软件,除了软件0,所有软件都依赖且只依赖于另外一个软件 当要删除一个软件时,所有依赖于该软件的软件都要删掉 当安装一个软件时,该软件 ...

  8. 【数学】拉格朗日插值(luogu 4781/金牌导航 拉格朗日插值-1)

    拉格朗日插值 luogu 4781 金牌导航 拉格朗日插值-1 题目大意 给出n个点,让你确定经过这n个点且不超过n-1次的方程,现在给出k,让你求出其函数值 样例#1 输入样例#1 3 100 1 ...

  9. 【LCT】洞穴勘测(luogu 2147/金牌导航 LCT-1)

    洞穴勘测 luogu 2147 金牌导航 LCT-1 题目大意 给你若干操作,有三种操作: 1.连接两个点 2.吧两个点之间的连边断掉(保证有这条边) 3.查询两个点之间是否连通 样例 #1 输入样例 ...

最新文章

  1. 干货 | XGBoost在携程搜索排序中的应用
  2. java如何处理csv文件上传_java处理csv文件上传示例
  3. MIT自然语言处理第五讲:最大熵和对数线性模型
  4. swift 组件化_打造完备的iOS组件化方案:如何面向接口进行模块解耦?
  5. 3GPP Release、TSG、RAN等概念介绍
  6. 【已解决】Error occurred during loading data. Trying to use cache server_Python系列学习笔记
  7. bzoj 4552: [Tjoi2016Heoi2016]排序
  8. 怎样重启计算机来关闭u口,从电脑USB接口吹了一口气结果电脑直接关机,按重启也带不起来了,该怎么办?...
  9. (libgdx学习)GestureDetector
  10. 如何将屏幕截图保存到桌面以外的自定义文件夹?
  11. Anaconda下载源设置及还原默认
  12. HttpWatch工具简介及使用技巧(转)
  13. 传智播客C语言视频第二季 第一季基础上增加诸多C语言案例讲解,有效下载期为10 5-10 10关闭
  14. 写自己的故事,帮别人说话
  15. CentOS命令之一
  16. 电脑安装双系统(win+Linux)的一些重要步骤总结
  17. Nginx反向代理服务
  18. 解决PotPlayer播放MKV格式文件没有声音的问题
  19. [初学笔记] matlab的 二维绘图 plot 和系列功能
  20. 【备忘录】为Windows10 LTSC 安装应用商店和XBOX

热门文章

  1. 10 邮件槽_员工主动发离职邮件,提出申请又反悔,法院判决让人懵了!
  2. web高德地图怎么加载离线地图_怎么验证全国离线卫星地图缓存文件的完整性
  3. python http协议获取对方的ip地址_http协议(一)基础知识
  4. matlab 如何画二维图形,Matlab 学习 画图篇 一 二维图形
  5. python递归函数查询表_python---------------递归函数
  6. leetcode53. 最大子数组和(暴力+贪心)
  7. Numpy中数组创建函数的辨析
  8. 计算机格式化后数据恢复的基础,电脑硬盘格式化后还能恢复吗
  9. Java实现AVL平衡树
  10. [蓝桥杯2016初赛]剪邮票-dfs+next_permutation(好题)