一、题目

点此看题

二、解法

首先考虑没有重复(序列个数等于线性基个数)的情况,那么问题就是求一个值的排名(跟求排名的值差不多)

如果有重复的情况呢?我们考虑一个值在线性基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就是要第一个出场相关推荐

  1. [BZOJ 2844] albus就是要第一个出场

    2844: albus就是要第一个出场 Time Limit: 6 Sec  Memory Limit: 128 MB Submit: 2316  Solved: 964 [Submit][Statu ...

  2. bzoj 2844: albus就是要第一个出场(线性基)

    2844: albus就是要第一个出场 Time Limit: 6 Sec  Memory Limit: 128 MB Submit: 1635  Solved: 680 [Submit][Statu ...

  3. 2844: albus就是要第一个出场

    2844: albus就是要第一个出场 链接 分析: 和HDU3949差不多互逆,这里需要加上相同的数. 结论:所有数任意异或,构成的数出现一样的次数,次数为$2^{n-cnt}$,cnt为线性基的大 ...

  4. 【BZOJ 2844】 albus就是要第一个出场

    2844: albus就是要第一个出场 Time Limit: 6 Sec  Memory Limit: 128 MB Submit: 436  Solved: 190 [Submit][Status ...

  5. bzoj 2844 albus就是要第一个出场

    2844: albus就是要第一个出场 Time Limit: 6 Sec  Memory Limit: 128 MB Submit: 1402  Solved: 593 [Submit][Statu ...

  6. [BZOJ 2844]albus就是要第一个出场

    Description 已知一个长度为n的正整数序列A(下标从1开始), 令 S = { x | 1 <= x <= n }, S 的幂集2S定义为S 所有子 集构成的集合.定义映射 f ...

  7. BZOJ 2844 albus就是要第一个出场(线性基)

    Description 已知一个长度为n的正整数序列A(下标从1开始), 令 S = { x | 1 <= x <= n }, S 的幂集2^S定义为S 所有子 集构成的集合.定义映射 f ...

  8. bzoj2844:albus就是要第一个出场(线性基)

    Description 已知一个长度为n的正整数序列A(下标从1开始), 令 S = { x | 1 <= x <= n }, S 的幂集2^S定义为S 所有子 集构成的集合.定义映射 f ...

  9. BZOJ2844: albus就是要第一个出场(线性基)

    Time Limit: 6 Sec  Memory Limit: 128 MB Submit: 2054  Solved: 850 [Submit][Status][Discuss] Descript ...

  10. 【BZOJ2844】albus就是要第一个出场——线性基

    Time Limit: 6 Sec Memory Limit: 128 MB Description 已知一个长度为n的正整数序列A(下标从1开始), 令 S = { x | 1 <= x &l ...

最新文章

  1. 关于Vision Transformer的一些思考
  2. 数据分析方法论2——流量分析
  3. Jekyll报'Tag was never closed'错误
  4. MiniGUI开发环境搭建全记录(嵌入式计X86)
  5. VMware vSphere之vCenter安装
  6. weblogic-修改控制台登录密码
  7. 计算机程序员crc算法,CRC-8校验原理及软件实现
  8. Android UI开发:AlertDialog对话框
  9. 信息学奥赛一本通:1096:数字统计
  10. 低速常温离心机S400
  11. root过的安卓机器,安卓机怎样root
  12. 动态规划经典问题--TSP问题
  13. 64位系统究竟牛逼在哪里?
  14. 如何恢复录音删除的录音文件_如何使用goldwave给麦克风录音
  15. word调整页脚距离 顶端和低端的距离(叫页边距)
  16. 怎么用css绘制像地图标点的图形
  17. 前端模块化编程(import,export)
  18. 【爆肝更新】Python基础教程:第五章_Python函数
  19. MySQL--在批处理中执行SQL
  20. Mac系统W10系统安装adb

热门文章

  1. LeetCode第172场周赛:5322. 工作计划的最低难度(动态规划)
  2. 深度学习词汇 Developing Our Own Deep Learning Toolset
  3. 关于 “<”运算符是为将来使用而保留的。 的解决办法
  4. 计算机考研如何寻找调剂信息?我这有最全的!
  5. 今天全网的网站都变成了灰色了,这其中是如何实现的呢?
  6. 【总结】明星产品slogan
  7. 论文记录1_YOLO系列(v1 v2 v3 v4)
  8. [深度应用]·实战掌握PyTorch图片分类简明教程
  9. feign.codec.DecodeException 异常原因
  10. 使用GoogleTranslateIpCheck查找适用谷歌翻译服务器ip,解决谷歌浏览器无法翻译问题