码迷,mamicode.com
首页 > 其他好文 > 详细

uoj 36 玛里苟斯

时间:2019-01-05 22:48:45      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:暴力枚举   偶数   dfs   提示   左右   期望   url   ...   影响   

【清华集训2014】玛里苟斯 - 题目 - Universal Online Judge

k=1,2,3,4,5各占20pts是提示

应当分开考虑

k=1

拆位,如果第i位有1,则有1/2的概率xor出来,得到(1<<i)的贡献

证明考虑若干个有1的数,找到偶数个1的概率

 

k=2

还是拆位

然后考虑二进制:(a1+a2+a3+...+ak)*(a1+a2+a3+..+ak)

根据完全平方展开

存在ai的平方和,还有所有两项的乘积再*2

分开考虑贡献的期望

a^2:1/2

2ab:1/4

a,b都是有1的位

注意,如果a,b出现的每一次都属于同一个数,那么概率是1/2

暴力枚举即可60^2

 

k>=3

不能再展开了,项数多而复杂。

 

另辟蹊径

发现,如果一个数可以被其他的数xor表示,那么这个数的存在与否不影响答案

有没有这个数的两种情况的所有组合都是相同的。

所以去掉这些数

线性基

只剩60个数

但是有答案<2^63

所以每个数最大2^20左右

否则有一个2^30,就至少贡献2^(30k)/2的值,直接爆

 

所以只剩下20个数,k越大越少

dfs爆搜即可

 

但是由于/2的存在,所以可能会爆long long

unsigned long long即可。

 

uoj 36 玛里苟斯

标签:暴力枚举   偶数   dfs   提示   左右   期望   url   ...   影响   

原文地址:https://www.cnblogs.com/Miracevin/p/10226112.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!