albus就是要第一个出场
一、题目
点此看题
二、解法
首先考虑没有重复(序列个数等于线性基个数)的情况,那么问题就是求一个值的排名(跟求排名的值差不多)
如果有重复的情况呢?我们考虑一个值在线性基iii位被异或为000,那我们就把这个值归类到iii位,设有www个多余的值。如果一个位置被选取了,那么选奇数个数的子集方案数2w2^w2w,否则可以选当前位没有被选取,那么选偶数也是2w2^w2w,总方案数就是2n−m2^{n-m}2n−m,mmm是重复的个数。
代码也就不难了,仿照求排名的值。
#include <cstdio>
#define int long long
const int jzm = 10086;
int read()
{ int x=0,flag=1;char c;while((c=getchar())<'0' || c>'9') if(c=='-') flag=-1;while(c>='0' && c<='9') x=(x<<3)+(x<<1)+(c^48),c=getchar();return x*flag;
}
int n,m,k,ans,p[40];
void ins(int x)
{for(int i=30;i>=0;i--){if(!(x>>i)) continue;if(!p[i]) {p[i]=x;break;}x^=p[i];}if(!x) m=m*2%jzm;
}
void work()
{for(int i=1;i<=30;i++)for(int j=0;j<i;j++)if(p[i]&(1<<j))p[i]^=p[j];
}
signed main()
{n=read();m=1;for(int i=1;i<=n;i++)ins(read());work();k=read();for(int i=0,t=1;i<=30;i++)if(p[i]){if((k>>i)&1) ans+=t;t<<=1;}printf("%lld\n",(ans*m+1)%jzm);
}
albus就是要第一个出场相关推荐
- [BZOJ 2844] albus就是要第一个出场
2844: albus就是要第一个出场 Time Limit: 6 Sec Memory Limit: 128 MB Submit: 2316 Solved: 964 [Submit][Statu ...
- bzoj 2844: albus就是要第一个出场(线性基)
2844: albus就是要第一个出场 Time Limit: 6 Sec Memory Limit: 128 MB Submit: 1635 Solved: 680 [Submit][Statu ...
- 2844: albus就是要第一个出场
2844: albus就是要第一个出场 链接 分析: 和HDU3949差不多互逆,这里需要加上相同的数. 结论:所有数任意异或,构成的数出现一样的次数,次数为$2^{n-cnt}$,cnt为线性基的大 ...
- 【BZOJ 2844】 albus就是要第一个出场
2844: albus就是要第一个出场 Time Limit: 6 Sec Memory Limit: 128 MB Submit: 436 Solved: 190 [Submit][Status ...
- bzoj 2844 albus就是要第一个出场
2844: albus就是要第一个出场 Time Limit: 6 Sec Memory Limit: 128 MB Submit: 1402 Solved: 593 [Submit][Statu ...
- [BZOJ 2844]albus就是要第一个出场
Description 已知一个长度为n的正整数序列A(下标从1开始), 令 S = { x | 1 <= x <= n }, S 的幂集2S定义为S 所有子 集构成的集合.定义映射 f ...
- BZOJ 2844 albus就是要第一个出场(线性基)
Description 已知一个长度为n的正整数序列A(下标从1开始), 令 S = { x | 1 <= x <= n }, S 的幂集2^S定义为S 所有子 集构成的集合.定义映射 f ...
- bzoj2844:albus就是要第一个出场(线性基)
Description 已知一个长度为n的正整数序列A(下标从1开始), 令 S = { x | 1 <= x <= n }, S 的幂集2^S定义为S 所有子 集构成的集合.定义映射 f ...
- BZOJ2844: albus就是要第一个出场(线性基)
Time Limit: 6 Sec Memory Limit: 128 MB Submit: 2054 Solved: 850 [Submit][Status][Discuss] Descript ...
- 【BZOJ2844】albus就是要第一个出场——线性基
Time Limit: 6 Sec Memory Limit: 128 MB Description 已知一个长度为n的正整数序列A(下标从1开始), 令 S = { x | 1 <= x &l ...
最新文章
- 关于Vision Transformer的一些思考
- 数据分析方法论2——流量分析
- Jekyll报'Tag was never closed'错误
- MiniGUI开发环境搭建全记录(嵌入式计X86)
- VMware vSphere之vCenter安装
- weblogic-修改控制台登录密码
- 计算机程序员crc算法,CRC-8校验原理及软件实现
- Android UI开发:AlertDialog对话框
- 信息学奥赛一本通:1096:数字统计
- 低速常温离心机S400
- root过的安卓机器,安卓机怎样root
- 动态规划经典问题--TSP问题
- 64位系统究竟牛逼在哪里?
- 如何恢复录音删除的录音文件_如何使用goldwave给麦克风录音
- word调整页脚距离 顶端和低端的距离(叫页边距)
- 怎么用css绘制像地图标点的图形
- 前端模块化编程(import,export)
- 【爆肝更新】Python基础教程:第五章_Python函数
- MySQL--在批处理中执行SQL
- Mac系统W10系统安装adb
热门文章
- LeetCode第172场周赛:5322. 工作计划的最低难度(动态规划)
- 深度学习词汇 Developing Our Own Deep Learning Toolset
- 关于 “<”运算符是为将来使用而保留的。 的解决办法
- 计算机考研如何寻找调剂信息?我这有最全的!
- 今天全网的网站都变成了灰色了,这其中是如何实现的呢?
- 【总结】明星产品slogan
- 论文记录1_YOLO系列(v1 v2 v3 v4)
- [深度应用]·实战掌握PyTorch图片分类简明教程
- feign.codec.DecodeException 异常原因
- 使用GoogleTranslateIpCheck查找适用谷歌翻译服务器ip,解决谷歌浏览器无法翻译问题