做题前问了一下miaom,得到了一个奇怪的回答

mmp

这题分类讨论

k=1sb题

k=2按位计算,把每个数看成几个2的幂次的和,按位跑期望

k>2线性基sb题

没了

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define N 100005
#define M 75
#define ll unsigned long long
using namespace std; int n,flag; ll ans,res,mod,bin[M],a[N],base[M]; bool f[M][M];
void calc(){
int i,j;
for (i=; i<=n; i++)
for (j=; j>=; j--) if (a[i]&bin[j])
if (!base[j]){
base[j]=a[i]; break;
} else a[i]^=base[j];
for (j=n=; j<; j++) if (base[j]) a[++n]=base[j];
}
void solve1(){
int i,j,k,t;
for (i=; i<; i++)
for (j=; j<=n; j++) f[i][j]=(a[j]&bin[i])?:;
for (i=; i<; i++)
for (j=; j<; j++){
for (k=; k<=n; k++) if (f[i][k]) break;
if (k>n) continue;
for (k=; k<=n; k++) if (f[j][k]) break;
if (k>n) continue;
t=;
for (k=; k<=n && !t; k++)
if (f[i][k]!=f[j][k]) t=;
if (i+j--t<) res++; else ans+=bin[i+j--t];
ans+=res>>; res&=;
}
printf("%llu",ans); puts(res?".5":"");
}
void dfs(int k,ll now){
if (k>n){
int i; ll u=,v=;
for (i=; i<=flag; i++){
u*=now; v*=now;
u+=v>>n; v&=mod;
}
ans+=u; res+=v;
ans+=res>>n; res&=mod;
return;
}
dfs(k+,now); dfs(k+,now^a[k]);
}
void solve2(){
mod=bin[n]-; dfs(,);
printf("%llu",ans); puts(res?".5":"");
}
int main(){
scanf("%d%d",&n,&flag); int i;
bin[]=; for (i=; i<; i++) bin[i]=bin[i-]<<;
for (i=; i<=n; i++) scanf("%llu",&a[i]);
if (flag==){
for (i=; i<=n; i++) ans|=a[i];
printf("%llu",ans>>); puts((ans&)?".5":"");
return ;
}
calc();
if (flag==) solve1(); else solve2();
return ;
}

bzoj3811 uoj36 玛里苟斯的更多相关文章

  1. 【BZOJ3811】玛里苟斯(线性基)

    [BZOJ3811]玛里苟斯(线性基) 题面 BZOJ 题解 \(K=1\)很容易吧,拆位考虑贡献,所有存在的位出现的概率都是\(0.5\),所以答案就是所有数或起来的结果除二. \(K=2\)的情况 ...

  2. 【BZOJ3811/UOJ36】 玛里苟斯

    Description 魔法之龙玛里苟斯最近在为加基森拍卖师的削弱而感到伤心,于是他想了一道数学题. S 是一个可重集合,S={a1,a2,…,an}. 等概率随机取 S 的一个子集 A={ai1,… ...

  3. #YCB#待做题目与填坑资料

    各种填坑资料(qwq) 主席树(by YL)戳 树套树(by ZSY)戳 不要问我这些题咋来的(查大佬的水表呗) 题目列表: [HDU5977]Garden of Eden [BZOJ2752][HA ...

  4. 【bzoj3811】【清华集训2014】玛里苟斯

    3811: 玛里苟斯 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 500  Solved: 196[Submit][Status][Discuss] ...

  5. BZOJ3811 玛里苟斯(线性基+概率期望)

    k=1的话非常好做,每个有1的位都有一半可能性提供贡献.由组合数的一些性质非常容易证明. k=2的话,平方的式子展开可以发现要计算的是每一对位提供的贡献,于是需要计算每一对位被同时选中的概率.找出所有 ...

  6. bzoj3811 玛里苟斯

    分三种情况讨论 k=1时,对于每一位而言,只要有一个数这一位是1,那么这个就有0.5的概率是1,选他就是1,不选就是0,有第二个的话,在第一个选或不选的前提下,也各有0.5的几率选或不选,0和1的概率 ...

  7. UOJ#36. 【清华集训2014】玛里苟斯 线性基

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ36.html 题解 按照 $k$ 分类讨论: k=1 : 我们考虑每一位的贡献.若有至少一个数第 $i$ ...

  8. bzoj 3811: 玛里苟斯

    3811: 玛里苟斯 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 190  Solved: 95[Submit][Status][Discuss] ...

  9. uoj 36 玛里苟斯

    [清华集训2014]玛里苟斯 - 题目 - Universal Online Judge k=1,2,3,4,5各占20pts是提示 应当分开考虑 k=1 拆位,如果第i位有1,则有1/2的概率xor ...

随机推荐

  1. Linux网络编程之select、poll、epoll的比较,以及epoll的水平触发(LT)和边缘触发(ET)

    Linux的网络通信先后推出了select.poll.epoll三种模式. select有以下三个问题: (1)每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大. ...

  2. 「NOIP2017」「LuoguP3959」 宝藏(爆搜

    题目描述 参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 nn 个深埋在地下的宝藏屋, 也给出了这 nn 个宝藏屋之间可供开发的mm 条道路和它们的长度. 小明决心亲自前往挖掘所有宝藏屋中的宝藏. ...

  3. bzoj 2216: Lightning Conductor 单调队列优化dp

    题目大意 已知一个长度为\(n\)的序列\(a_1,a_2,...,a_n\)对于每个\(1\leq i\leq n\),找到最小的非负整数\(p\)满足: 对于任意的\(j\), \(a_j \le ...

  4. 【Lintcode】077.Longest Common Subsequence

    题目: Given two strings, find the longest common subsequence (LCS). Your code should return the length ...

  5. QT(2)项目文件介绍

    一.项目创建 二.文件说明 三.QT模块

  6. 【转】Pro Android学习笔记(四):了解Android资源(下)

    处理任意的XML文件 自定义的xml文件放置在res/xml/下,可以通过R.xml.file_name来获取一个XMLResourceParser对象.下面是xml文件的例子: <rootna ...

  7. linux工具————fish shell

    1.说明 fish is a fully-equipped command line shell (like bash or zsh) that is smart and user-friendly. ...

  8. TextBox控件TextMode=&quot;Password&quot;時

    TextBox控件TextMode="Password"時,觸發服務器端事件后,會清空掉TextBox的顯示值 2008-07-15 15:06:10|  分类: C#.NET 空 ...

  9. phpcms后台栏目权限修改无效的原因和解决方法

    现象:在phpcms后台中,新建角色,然后修改角色对应栏目权限,结果一直只能选择一半数量的栏目.剩下的栏目怎么修改都不生效. 对比: step1:再另一个phpcms后台做同样操作,依旧是这个结果.跟 ...

  10. 微信小程序开发之tab导航栏

    实现功能: 点击不同的tab导航,筛选数据 UI:   js: data:{ navbar: ['半月维保', '季度维保', '半年维保',"年度维保"],    //count ...