竞赛
考级
优先队列 一般是维护最大值用的(O(logn)) 最大值 最小值
“花了1个多月”和“学会比较大小”这两个简单句是怎么联系到一起去的??🙄
非常简单的AC题解,先看后赞养成好习惯 (各位,请不要管数组名字(虽然非常吉利)) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
あああああああああああ
题目 A30480.【PY】就不告诉你 代码 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 注:此题帖主已通过\color{green}{注:此题帖主已通过}注:此题帖主已通过
> 代码#20总是TLE,求助
C++ 学习讨论・正式引入 我们先从一个简单而经典的概率模型开始,它不仅能帮我们理解期望、随机游走、复杂度分析这些核心思想,更是许多高级算法(如动态规划优化、树上 DP、网格问题)的重要突破口。 一个数轴,初始点在 0 位置。一共移动 n 次,每次以 1/2 概率 +1,1/2 概率 −1。 我们想知道两个问题: 最终位置的绝对值期望 E [|x|] 是多少? 全过程中到达过的最远位置的绝对值期望是多少? 第一个问题很容易证明: E [x²] = n,因此 E [|x|] ≤ √n,也就是 O (√n) 级别。 而第二个问题 ——最大偏离原点的距离期望,证明会更巧妙: 利用非负随机变量的期望公式 E [M] = Σ Pr (M ≥ t) 结合反射原理与高斯尾估计,可以得到 Pr (M ≥ t) ≤ 4e^(−t²/(2n)) 对 t 求和后依然得到: E[M] = O(√n) 这是一个极其关键的结论: 随机游走的偏离范围,永远只会达到 O (√n) 级别。 为什么这个结论对 C++ 算法题至关重要? 因为它能直接把暴力无法通过的题目优化到可过复杂度: 高维网格 DP 太大? 利用随机游走偏离 O (√n),直接截断坐标范围。 树上 DP 状态爆炸? 把链长差值看作游走,只保留 ±√n 以内状态。 ** bitset 优化不够快?** 结合随机打乱 + 范围截断,复杂度直接降维。 你给的两道难题: 六边形网格 idea 可行性 DP 树上选 4 边不重叠路径最大权值 DP 它们的正解核心,全部来自这一句话: 随机游走的最大偏离是 O (√n)。 学习讨论核心收获 期望与概率分析不只是数学,更是算法优化武器。 很多看似 O (n²) 的 DP,都能用游走截断变成 O (n√n)。 C++ 实现技巧:random_shuffle、bitset、状态截断、树上 DP 优化。 高级题目通用思路: 暴力 → 发现游走结构 → 截断范围 → AC
一、引入 树作为图论中最特殊、应用最广的无环连通结构,是 C++ 算法学习里重中之重。相比于线性数组、字符串,树引入了父子关系、子树、深度、直径、LCA、路径等全新概念,同时衍生出大量经典 DP 与贪心模型。很多看似复杂的竞赛题、期末考题,本质都只是树上基础模型的变形。 二、树的基础核心知识点 树的存储方式邻接表是最通用的写法,用 vector<vector<int>> 存边,适合无根树、有根树、带权树,适配所有树论题。 树的遍历深度优先 DFS、广度优先 BFS 是一切树上算法的基础: DFS 适合递归处理子树、树形 DP; BFS 适合求层次、深度、最短路、拓扑序。 基础经典模型树的直径、叶子节点统计、子树大小、树的重心、最近公共祖先 LCA,都是高频模板,必须熟练手写。 三、树上动态规划核心思想 树形 DP 一般采用后序遍历:先递归处理所有儿子子树,再合并儿子信息更新当前节点答案。 常规思路: 设状态 f[u][...] 表示以 u 为根的子树的最优答案; 递归遍历所有子节点; 把每个儿子的 dp 值合并到父节点; 最终根节点状态即为全局答案。 简单模型如:最大独立集、树的最大权独立集、选不相交路径、链覆盖等,都遵循这套套路。 四、树上算法的高级优化思路 很多朴素树形 DP 是 O(n2),无法通过大数据范围,常用优化手段: 随机打乱邻接表把儿子顺序随机化,利用类似随机游走思想,状态偏移只会在 O(n ) 范围内波动,截断多余状态,把复杂度压到 O(nn )。 状态压缩与值域截断像路径匹配、链长合并类题目,不用维护全部差值,只保留有限区间内的状态,舍弃极端不可能到达的值。 换根 DP、长链剖分、点分治分别解决二次统计、深度相关问题、全局路径统计等难题,是树论进阶必备。 五、典型例题思想归纳 以树上选取四条边组成不重叠简单路径,求最大边权和这类题目为例: 设计状态 f[u][0/1/2/3] 记录当前节点挂载不同长度链的最优值; 用辅助数组 g 合并儿子信息; 把链长差值抽象成数轴随机游走,只维护小范围状态; 随机打乱儿子顺序、截断无用状态,成功把复杂度从平方级优化到可过范围。 这类题的核心思想和随机游走期望结论一致:差值不会无限扩散,只需维护局部有限状态。 六、学习收获与总结 树的所有高级算法,根基都是 DFS、BFS 与基础树形 DP; 子树合并、状态设计、后序转移是树上解题通用套路; 遇到 O(n2) 暴力无法通过时,可以利用随机游走思想、随机打乱、值域截断进行根号级优化; 学好树论,不仅能应付期末考试,也是进阶图论、竞赛算法、高级 DP 的必备基础。
C++ 框架目录 求赞和评论 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 函数内容 使用说明 n是长度 x是数字 返回布尔值1或0 注意这个是在数组中找数字 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 找第一个 找最后一个 使用说明 返回下标 l是起点 r是终点 x是数字 注意:这个是在数组中找数字,数组需要排序
我寻思这道题可以用打表做。。。
作者有代码格式强迫症 很长的分割线 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 很长的分割线
本道题只要把input每一行都存入一个变量,如: a = input() b = input() c = input() 再一起输出 print(a,b,c) 就完成了。 参考答案 a = input() b = input() c = input() print(a,b,c)
需要看题有些大小写不对需要修改
好难啊啊
TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE TLE
太难了
先看这一帖 一、 核心概念与公理 * 样本空间 (Ω\OmegaΩ):随机试验所有可能结果的集合,是概率计算的“全集”。 * 事件:样本空间的子集。包含关系 A⊂BA \subset BA⊂B 表示A发生则B必然发生;互斥 (A∩B=∅A \cap B = \emptysetA∩B=∅) 表示两事件不能同时发生。 * 概率公理 (Kolmogorov): 1. 非负性:P(A)≥0P(A) \ge 0P(A)≥0 2. 规范性:P(Ω)=1P(\Omega) = 1P(Ω)=1 3. 可列可加性:互斥事件和的概率等于概率之和。 二、 五大核心计算公式 这是解题的基石,务必熟练掌握: 1. 加法公式:P(A∪B)=P(A)+P(B)−P(AB)P(A \cup B) = P(A) + P(B) - P(AB)P(A∪B)=P(A)+P(B)−P(AB)(防止重叠部分重复计算)。 2. 减法公式:P(B−A)=P(B)−P(AB)P(B-A) = P(B) - P(AB)P(B−A)=P(B)−P(AB)。 3. 乘法公式:P(AB)=P(A)P(B∣A)P(AB) = P(A)P(B|A)P(AB)=P(A)P(B∣A)(A发生后B发生的概率)。 4. 全概率公式:P(A)=∑P(Bi)P(A∣Bi)P(A) = \sum P(B_i)P(A|B_i)P(A)=∑P(Bi )P(A∣Bi )(通过划分原因 BiB_iBi 来求结果 AAA 的总概率)。 5. 贝叶斯公式:P(Bi∣A)=P(Bi)P(A∣Bi)P(A)P(B_i|A) = \frac{P(B_i)P(A|B_i)}{P(A)}P(Bi ∣A)=P(A)P(Bi )P(A∣Bi ) (已知结果 AAA 发生,反推是由原因 BiB_iBi 导致的概率,即“后验概率”)。 三、 常见概型与分布 * 古典概型:适用于结果有限且等可能的场景,P(A)=有利结果数总结果数P(A) = \frac{\text{有利结果数}}{\text{总结果数}}P(A)=总结果数有利结果数 。 * 几何概型:适用于结果无限且连续的场景(如长度、面积),P(A)=构成事件A的测度试验的全部结果测度P(A) = \frac{\text{构成事件A的测度}}{\text{试验的全部结果测度}}P(A)=试验的全部结果测度构成事件A的测度 。 * 常用分布: * 离散型:0-1分布、二项分布(n重伯努利试验)、泊松分布(稀有事件计数)。 * 连续型:均匀分布、指数分布(寿命模型)、正态分布(钟形曲线,自然界最常见)。 四、 进阶核心概念 * 事件独立性:若 P(AB)=P(A)P(B)P(AB) = P(A)P(B)P(AB)=P(A)P(B),则A、B独立(发生互不影响)。注意:两两独立 ≠\neq= 相互独立。 * 随机变量:将随机试验结果映射到实数的函数 X(e)X(e)X(e),分为离散型和连续型。 * 数字特征: * 期望 E(X)E(X)E(X):随机变量的加权平均值(重心)。 * 方差 D(X)D(X)D(X):描述数据波动程度,D(X)=E(X2)−[E(X)]2D(X) = E(X^2) - [E(X)]^2D(X)=E(X2)−[E(X)]2。 * 协方差与相关系数:描述两个变量间的线性相关性。
我都用埃筛了还有一个超时
共8376条