AcWing 216 Rainbow 的信号】的更多相关文章

题意 给定一个长度为n的序列,然后从\(1\sim N\) 这 N 个数中选取两个数\(l,r\) , 如果\(l>r\),则交换\(l,r\).把第\(l\) 个数到第\(r\)个数取出来构成一个数列. A为该数列的xor和的期望 B为该数列的and和的期望 C为该数列的or和的期望 \(1\le N\le 1e5, N个自然数均不超过1e9\) 分析 位运算是不进位的,各位之间互不影响,因此可以把N个自然数都分成31位来单独计算 那些\([l,r]\) 宽度为1的,单个选取的概率其实为\(1…
Rainbow的信号 有一串长度为n的数列,现在从中等概率选出l,r,如果l大于r,则交换,有三个询问 l~r间的数与和的数学期望 l~r间的数或和的数学期望 l~r间的数异或和的数学期望 对于100%的数据,1<=n<=100000,n个自然数均不超过10^9. 解 注意到l==r,概率为\(1/n^2\),其外概率均为\(2/n^2\),考虑到有固定的概率,考虑公式法,对于l==r显然可以暴力做,现在问题在于如何快速求出区间的二进制运算和,注意到二进制不进位的特点,考虑二进制拆分,于是对于…
期望 被精度坑惨的我 注意:能开 long long 尽量开, 先除后乘, int 转 double 的时候 先转换在做运算 本题与位运算有关,位与位之间互不影响,所以我们可以分开考虑 #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> #include <cstdlib> using namespace std; int init() { int…
位与位间互不影响.一位一位计算. 长度为 \(1\) 的区间,选出概率为 \(1/n^2\).其余区间,选出概率为 \(2/n^2\).(这里的区间 \(l \leq r\)) 枚举右端点.记 \(last_0\) 表示 \(0\) 上一次出现的位置. \(last_1\) 同样. 下面我们只研究区间长度不为 \(1\) 的.为 \(1\) 的话直接计上就好了. 对于 \(\mathrm{and}\) 和,倘若当前数的这一位为 \(0\) 则不用计算,否则,左端点在 \([last_0+1,no…
传送门 BZOJ没数据范围... 其实数据范围是这样的.. 前20%可以直接n^3暴力枚举每个区间 前40%可以考虑每一位,因为所有数每一位都是独立的,而和的期望=期望的和,那么可以枚举每一位,再枚举区间,最大 31*n*n 想到枚举每一位也就离正解不远了,可以dp, 对于xor有贡献的是区间xor值为1的区间,那么f[i]表示以i结尾的区间异或值为1的个数,那么xor就很好解决了 对于or,我们只需要找出所有的全为0的区间,拿总区间个数减去就好, 对于and,我们只需要找出所有全为1的区间即可…
题目链接 题意:求n个整数任意取一个区间,一起进行xor,and,或or的操作,求xor的期望值,and的期望值,or的期望值. 思路:区间取的左端点为l,右端点为r,当r==l时,选的概率为1/n/n,而r!=l时,选的概率为2/n/n. 然后因为进行二进制操作,所以枚举整数的每个二进制位.三个操作分三种情况: 1and:考虑先枚举一个右端点r,考虑and的性质,所以考虑找到前面第一个0出现的位置last[0],如果这一位也为1,那么左端点就可以取[last[0]+1,r−1]. 2or:依然…
正解:位运算 解题报告: 传送门! 其实就是个位运算,,,只是顺便加了个期望的知识点$so$期望的帕并不难来着$QwQ$ 先把期望的皮扒了,就直接分类讨论下,不难发现,答案分为两个部分 $\left\{\begin{matrix}l=r & \frac{1}{n}\cdot\frac{1}{n}=\frac{1}{n^{2}}\\ \\ l\neq r & \frac{2}{n}\cdot\frac{1}{n}=\frac{2}{n^{2}}\end{matrix}\right.$ 这样就…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
(2)单击“Identify DC Nets”,弹出“Identify DC Nets”窗口,如图2-6 所示: 图 2-6 Identify DC Nets 窗口 (3)在“Net”列表中选择网络如“GND_EARTH”,在“Voltage”栏双击“NONE” 输入相应的电压值如0,并按下“Tab”键.再如选择“VCC285”,在“Voltage”栏双击“NONE” 输入相应的电压值如2.85,并按下“Tab”键. (4)单击“OK”,关闭“Identify DC Nets”窗口.“Datab…
Description Freda发明了传呼机之后,rainbow进一步改进了传呼机发送信息所使用的信号.由于现在是数字.信息时代,rainbow发明的信号用N个自然数表示.为了避免两个人的对话被大坏蛋VariantF偷听T_T,rainbow把对话分成A.B.C三部分,分别用a.b.c三个密加密码.现在Freda接到了rainbow的信息,她的首要工作就是解密.Freda了解到,这三部分的密码计算方式如下: 在1~N这N个数中,等概率地选取两个数l.r,如果l>r,则交换l.r.把信号中的第l…