正题

题目链接:https://www.luogu.com.cn/problem/P7099


题目大意

给出nnn个坐标轴上的点,qqq次询问从某点出发每次等概率向左或者向右一格求到达某个给出点的期望步数。
保证每个询问点左右都有目标点

1≤n≤105,1≤q≤5×106,1≤xi,yi≤1091\leq n\leq 10^5,1\leq q\leq 5\times 10^6,1\leq x_i,y_i\leq 10^91≤n≤105,1≤q≤5×106,1≤xi​,yi​≤109


解题思路

每个询问具体分析,离左边点的距离为lll,右边点的距离为rrr
设fif_ifi​表示从iii出发到达终点的期望距离,那么有
fi=fi−1+fi+12+1f_i=\frac{f_{i-1}+f_{i+1}}{2}+1fi​=2fi−1​+fi+1​​+1
然后f−l=fr=0f_{-l}=f_r=0f−l​=fr​=0然后求f0f_0f0​。

然后拆出来
2fi=fi−1+fi+1+22f_i=f_{i-1}+f_{i+1}+22fi​=fi−1​+fi+1​+2
(fi+1−fi)−(fi−fi−1)=−2(f_{i+1}-f_{i})-(f_{i}-f_{i-1})=-2(fi+1​−fi​)−(fi​−fi−1​)=−2
也就是fff数组两次差分是一个常数,所以说fff可以被表示成一个二次函数,设fx=ax2+bx+cf_x=ax^2+bx+cfx​=ax2+bx+c,那么fx′=fx−fx−1=2ax−a+bf'_x=f_{x}-f_{x-1}=2ax-a+bfx′​=fx​−fx−1​=2ax−a+b,然后fx′′=fx′−fx−1′=2a=−2f''_x=f'_{x}-f'_{x-1}=2a=-2fx′′​=fx′​−fx−1′​=2a=−2,所以fx=−x2+bx+cf_x=-x^2+bx+cfx​=−x2+bx+c。

因为知道零点{−(−l)2+b(−l)+c=0−r2+br+c=0\left\{\begin{matrix}-(-l)^2+b(-l)+c=0\\-r^2+br+c=0\end{matrix}\right.{−(−l)2+b(−l)+c=0−r2+br+c=0​,所以解出来{b=r−lc=l×r\left\{\begin{matrix}b=r-l\\c=l\times r\end{matrix}\right.{b=r−lc=l×r​

所以其实答案就是l×rl\times rl×r

时间复杂度O(nlog⁡n)O(n\log n)O(nlogn)


code

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cctype>
using namespace std;
const int N=1e5+10,P=998244353;
int T,n,q,a[N];
int read(){int x=0,f=1;char c=getchar();while(!isdigit(c)){if(c=='-')f=-f;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f;
}
int main()
{T=read();n=read();q=read();for(int i=1;i<=n;i++)a[i]=read();sort(a+1,a+1+n);int k=1,p1=0,p2=0,p3=0,p4=2147483647;for(int i=1;i<=q;i++){int x=read();while(k<n&&a[k]<x)k++;int ans=1ll*(a[k]-x)*(x-a[k-1])%P;p1^=ans;p2+=(ans&1);p3=max(p3,ans);p4=min(p4,ans);}printf("%d\n%d\n%d\n%d",p1,p2,p3,p4);return 0;
}

P7099-[yLOI2020]灼【数学期望,结论】相关推荐

  1. python 数学期望_python机器学习笔记:EM算法

    完整代码及其数据,请移步小编的GitHub 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/MachineLearningNote EM算法也称期望最大化 ...

  2. 概率统计与机器学习:期望,方差,数学期望,样本均值,样本方差之间的区别

    1.样本均值:我们有n个样本,每个样本的观测值为Xi,那么样本均值指的是 1/n * ∑x(i),求n个观测值的平均值 2.数学期望:就是样本均值,是随机变量,即样本数其实并不是确定的 PS:从概率论 ...

  3. 数学期望游戏迷 非游戏迷_我们被游戏迷住了吗–询问有关习惯形成设计的问题

    数学期望游戏迷 非游戏迷 The Greatest Magic Trick 最伟大的魔术 Once upon a time we all thought how charming it was whe ...

  4. 数学期望、方差、标准差、协方差、残差、均方差、均方误差、均方根误差、均方根值对比分析及python实现

    内容较多,如有错误之处请评论区留言以便更正,内容仅供参考. 文章目录 期望(Expected value) 意义 定义 离散型 连续型 期望与平均值的区别 方差(Variance) 案例 概率论方差 ...

  5. 数论小白都能看懂的数学期望讲解

    -1.灌水 这里阅读应该效果更佳 想了解更多关于数论的内容,可戳这里 感谢@command_block 大佬提出宝贵建议 也感谢洛谷及UVA的相关题目 如果有小瑕疵可以在评论区提出 内容可能有点多但很 ...

  6. 《算法竞赛进阶指南》数论篇(3)-组合计数,Lucas定理,Catalan数列,容斥原理,莫比乌斯反演,概率与数学期望,博弈论之SG函数

    文章目录 组合计数 例题:Counting swaps Lucas定理 Cnm≡Cnmodpmmodp∗Cn/pm/p(modp)C_n^m\equiv C_{n\ mod\ p}^{m\ mod\ ...

  7. 随机变量的数字特征(数学期望,方差,协方差与相关系数)

    戳这里:概率论思维导图 !!! 数学期望 离散型随机变量的数学期望 (这里要求级数绝对收敛,若不绝对收敛,则E(X)不存在) 如果有绝对收敛,则有 ,其中 连续型随机变量的数学期望 (这里要求绝对收敛 ...

  8. 解题报告(一)F、(2018 ACM - ICPC shenyang I)Distance Between Sweethearts(数学期望 + 乘法原理 + FWT)(4.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  9. R语言:求二维变量数学期望

    想做一个二维变量数学期望实验, 查看若干资料终于找到方法 先看这篇文章熟悉一下R的函数 http://www.cyclismo.org/tutorial/R/tables.html 构造数据 通过下面 ...

最新文章

  1. 数据中台-阿里巴巴的数据整合、价值发掘、社会赋能之道
  2. 如何从Bash脚本中检测操作系统?
  3. ThinkPHP V5.0.5漏洞_漏洞考古:thiknphp5 代码执行漏洞
  4. 企业数字化转型必看!建立企业级数据分析,必须重点修炼这4种能力
  5. 推荐系统的封闭和禁锢问题
  6. Android相关sdk使用
  7. CSS3 帧动画分段,CSS3 animation实现逐帧动画效果
  8. mysql新建用户只能查看试图_Sql Server:创建用户并指定该用户只能看指定的视图,除此之外的都不让查看。...
  9. 池流程图_干货收藏 | Java程序员必备的一些流程图
  10. putty界面最友好的颜色配置参考
  11. Salesforce新增Einstein AI支撑的自动化功能
  12. Ant—使用Ant构建简单Java项目(二)
  13. zookeeper运维
  14. eclipse java字体大小设置_eclipse怎样设置java代码字体大小? 值得收藏
  15. 华为数通笔记-QOS
  16. matlab计算轮廓曲率半径,用matlab求出最小曲率半径曲线方程实例
  17. TI的C64X系列的DSPLib实现fft
  18. [Swift]LeetCode1088. 易混淆数 II | Confusing Number II
  19. go 连接服务器 并存放图片_[本站大事件] 又更换服务器了 – 小文's blog
  20. CRMEB 商城分销功能

热门文章

  1. html语言简单,简单的html语言计算器
  2. excel函数中if android,在Android中阅读Excel
  3. matlab菲涅尔衍射_有问必答——SYNOPSYS安装体验课堂——可以设计菲涅尔透镜吗?...
  4. mock java_JAVA的mock工具mockito简介
  5. mysql connector c编程_MySQL数据库之MySQL Connector 编程
  6. android中的帧动画,[Android开发] Android中的帧动画
  7. 三菱四节传送带控制梯形图_一文讲透FX5U PLC程序控制指令及步进梯形图编程
  8. [Spring5]IOC容器_Bean管理XML方式_p名称空间注入
  9. C++泛型编程实现哈希表(闭散列---线性探测)
  10. 机器学习理论引导 电子版_机器学习理论篇1:机器学习的数学基础(2)