首页 > 编程语言 >高手算法专项训练-期望问题

高手算法专项训练-期望问题

时间:2023-07-28 13:11:08浏览次数:45  
标签:高手 专项 frac 标记 cdot text len 算法 array

高手算法专项训练-期望问题

T1 猫抓老鼠

​ 我们可以设猫在 点 \(u\) 老鼠在 \(v\) 点时猫抓到老鼠的期望时间为 \(f_{u,v}\) ,设此时猫的目标点为 \(next_{u,v}\) ,而这个 \(next_{u,v}\) 很显然可以在跑 \(n\) 便 BFS 。注意 \(f\) 的转移顺序显然由 \(u, v\) 的距离来决定。所以我们将 \(u,v\)之间的距离从小到大转移 \(f\) 。

​ 那本题的时间复杂度就为: \(\Theta(n^2)\)。

T2 圆桌游戏

​ 求:不经过 \(n\) 且标记了 \(1\sim n-1\) 的一个概率。那这样子我们设 \(f_{l,r,0/1}\) 来表示已经标记了 \([l,r]\) 且最后一次标记的点在区间的最左边 或 最右边的概率。在转移之前需要先计算出来 \(g0_{i,j}(i\le j)\) 表示 \(j\) 最终走到 \(j +1\) 且在过程中不能走到 \(i\) 的左侧的概率,设 \(g1_{i,j}(i \ge j)\) 表示 \(j\) 最终走到 \(j - 1\) 且在过程中不能走到 \(i\) 右侧的概率。时间复杂度:\(\Theta(n^2\log P)\) , AC不了。

​ 考虑 \(1\) 和 \(n-1\) 这两个特殊的位置,最后一个被标记的点一定是其中之一。也就是说,我们并不关心 \((1,K)\) 和 \((K,n-1)\) 的这些点是什么时候被标记的。考虑三个相邻点 \(a,b,c\) ,我们可以快速计算出标记在 \(a\) 手上时不走到 \(a\) 的左侧且通过 \(b\) 走到 \(c\) 的概率 以及 标记在 \(c\) 手上时不走到 \(c\) 的右侧且通过 \(b\) 走到 \(a\) 的概率 ,计算方法同上。

之后我们令 \(p_a = x,1-p_c=y\) ,相当于删去了点 \(b\) ,和原问题等价。

我们把 \(1\sim n-1\) 中除 \(1,K,n-1\) 以外的点全部删去,分几种情况讨论:

1. 若 $K = 1$ ,则答案为 $p_K$ ;
2. 若 $K = n - 1$ ,则答案为 $1 - p_K$ ;
3. 若 $1 < K < n-1$ 且 $1$ 先被标记,把 $K$ 删去后答案为 $(1-p_K)p1$ ;
4. 若 $1<K<n-1$ 且 $n -1$ 先被标记,被 $K$ 删去后答案就为 $p_K(1-p_{n-1})$ 。

这样正解时间复杂度就为 \(\Theta(n \log P)\) 。

T3 取数方案

​ 记区间 \([l_i,r_i]\) 中大于等于 \(f_i\) 的数的个数为 \(cnt\) ,区间长度为 \(len\) 。

\[\begin{array}{l} \frac{1}{l e n} \sum_{i=1}^{c n t} \frac{\left(\begin{array}{c} c n t \\ i \end{array}\right)}{\left(\begin{array}{c} \text { len } \\ i \end{array}\right)}&=\frac{1}{l e n} \sum_{i=1}^{cnt} \frac{\frac{c n t !}{i !(c n t-i) !}}{\frac{l e n !}{i !(l e n-i) !}} \\ &=\frac{1}{l e n} \sum_{i=1}^{cnt} \frac{c n t !(l e n-i) !}{(c n t-i) ! l e n !} \\ &=\frac{(\text { len }-c n t) ! c n t !}{\text { len } \cdot \text { len } !} \sum_{i=1}^{cnt} \frac{(\text { len }-i) !}{(c n t-i) !(\text { len }-c n t) !} \\ &=\frac{(\text { len }-c n t) ! c n t !}{l e n \cdot l e n !} \sum_{i=1}^{c n t}\left(\begin{array}{c} \text { len }-i \\ c n t-i \end{array}\right) \\ &=\frac{(\text { len }-c n t) ! c n t !}{l e n \cdot l e n !}\left(\begin{array}{c} \text { len } \\ c n t-1 \end{array}\right) \\ &=\frac{(\text { len }-c n t) ! c n t !}{\text { len } \cdot \text { len } !} \cdot \frac{\text { len } !}{(c n t-1) !(\text { len }-c n t+1) !} \\ &=\frac{c n t}{\text { len }(\text { len }-c n t+1)} \\ \end{array} \]

时间复杂度 \(\Theta((n + m)\log n)\) 。

标签:高手,专项,frac,标记,cdot,text,len,算法,array
From: https://www.cnblogs.com/messiljk/p/17587321.html

相关文章

  • 【实践篇】推荐算法PaaS化探索与实践
    作者:京东零售崔宁1.背景说明目前,推荐算法部支持了主站、企业业务、全渠道等20+业务线的900+推荐场景,通过梳理大促运营、各垂直业务线推荐场景的共性需求,对现有推荐算法能力进行沉淀和积累,并通过算法PaaS化打造通用化的推荐能力,提升各业务场景推荐赋能效率,高效赋能业务需求。......
  • 代码随想录算法训练营第四十天| 300.最长递增子序列 674. 最长连续递增序列 718.
    300.最长递增子序列要求:可以删减任意个节点,最后保存最大的递增长度难点:410489如何保证全局的视角,看到很前面的节点是否大于当前的节点,而不是仅仅记录状态思路:dp[n],当子序列的末尾为N时,它的最大子序列长度也就意味着,N在它的子序列中是最大的,遍历这个N之前的所有序......
  • SHA1签名算法,JAVA和C#
    java:publicstaticvoidmain(String[]args)throwsNoSuchAlgorithmException{Stringtoken="31a4a1aa-cffc-4aca-9ef6-0497edf7fbed";Stringnonce="Rzem0rlz19e6GZuZuFKyDzaxiS4baaqn8uvxVnntXKS";Stringtimestamp="1646......
  • 2023“钉耙编程”中国大学生算法设计超级联赛(4)Number Table
    题意对于一个\(2\timesn\)的矩阵,若每行每列数均不同且均\(\in[0,2^k)\),同时\(2n\)个数异或和为\(0\)则称该矩阵合法。给定\(n,k\),求总方案数。做法考虑若只有一行,即求\(n\)个不相同的数异或和为\(0\)的方案数:假定前\(n-1\)个数不同且已确定,此时仅需考虑第\(n\)个数是否在前......
  • 代码随想录算法训练营第二天| LeetCode 977.有序数组的平方 ,209.长度最小的子数组 ,59.
    977.有序数组的平方     题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/    文章讲解:https://programmercarl.com/0977.%E6%9C%89%E5%BA%8F%E6%95%B0%E7%BB%84%E7%9A%84%E5%B9%B3%E6%96%B9.html    视频讲解: https://www.bili......
  • 在线催稿:当一位高级视频算法工程师接受采访
    讲师专访是每一届LiveVideoStackCon举办前的固有“热身”和传统节目,我们夹带着为大会做宣传的私心(却也并不为过),但更多的是希望帮助大家多熟悉、多了解这些在音视频技术领域摸爬滚打多年的工程师、开发者,像朋友一样真心接触、平等交流。毕竟,技术的分享本就不应该居高临下,他们也曾是......
  • 【阅读笔记】一种暗通道优先的快速自动白平衡算法
    解决问题:自动白平衡算法中存在白色区域检测错误导致白平衡失效的问题,作者提出了一种基于暗通道优先的白平衡算法。算法思想:图像中白色区域或者高饱和度区域的光线透射率较低,根据以上特性利用暗通道法计算图像中白色区域。算法概述:作者使用何凯明提出的基于暗通道优先的方法......
  • 算法学习笔记(24): 狄利克雷卷积和莫比乌斯反演
    狄利克雷卷积和莫比乌斯反演看了《组合数学》,再听了学长讲的……感觉三官被颠覆……目录狄利克雷卷积和莫比乌斯反演狄利克雷卷积特殊的函数函数之间的关系除数函数和幂函数欧拉函数和恒等函数莫比乌斯函数和欧拉函数卷积的逆元莫比乌斯函数与莫比乌斯反演求法数论分块(整除分......
  • 算法学习(一)—— 如何看待数据结构与算法
    绪言最近在通过阅读K神的《Hello算法》学习数据结构与算法的知识,同时做一些博客笔记记录,方便日后的查找和复习算法数据结构与算法统称算法认识算法算法更多的是一种逻辑,例如:查阅字典的原理与二分查找算法相一致。二分查找体现了分而治之的重要算法思想。整理扑克的过......
  • C#与Java互通AES算法加密解密
    C#需要引用System.Security.Cryptography命名空间///<summary>AES加密</summary>///<paramname="text">明文</param>///<paramname="key">密钥,长度为16的字符串</param>///<paramname="iv">偏移量,长度为16的字符串<......