algorithm (39 篇)
错位排列
--- title: 错位排列 id: 23f96b70-5b7c-46fa-b358-69319154a761 date: 2025-02-07 12:45:29 auther: zengtudor cover: /upload/126925278.jpg excerpt: [SDOI2016] 排列计数 题解 注意,本文章代码由人类编写但是文章由AI书写 原文地址 题目大意 求有多少种 1 到...
推理二叉树N0=N2+1
有n-1条边 N00+N11+N22=N-1 N0+N1+N2=N

初赛错题整理
前缀和与数学运算符号
准高一考完中考又来打竞赛了,服了,好消息是可以去北大附中本部训练 [P5686 [CSP-S2019 江西] 和积和 - 洛谷 计算机科学教育新生态 (luogu.com.cn)](https://www.luogu.com.cn/problem/P5686) 给定两个下标从到编号的序列,定义函数为: 请你求出下列式子的值: 由于答案可能很大,你只需要给出答案模后的结果。 第一行一个正整数表示序...
[调整数组]差分,前缀和,思维性题目题解
--- title: [调整数组]差分,前缀和,思维性题目题解 id: 4f5965d5-aea8-4d4f-ada1-a153329d1e22 date: 2024-11-20 20:31:31 auther: zengtudor cover: /upload/124401446p0master1200.jpg excerpt: 题目 调整数组 题目描述 给定一个长为 N 的正整数数组 A,下标...
ST表
提示:有运用AI工具辅助生成文章 稀疏表(Sparse Table)是一种高效的数据结构,主要用于解决静态数组上的区间查询问题,特别是最值查询(最大值、最小值等)。它的主要优势在于预处理时间和查询时间都非常高效,适用于数据不变的情况。 - 构建一个二维数组,其中表示从位置开始长度为的区间的最值。 - 利用动态规划的思想,逐步计算不同长度的区间最值,利用前面计算的结果来推导更长区间的结果。 - 对于...
Luogu P2280 [HNOI2003] 激光炸弹 题解
NOIP2013D1T3火车运输最小生成树与LCA优化
第一步:初步分析题目 拿到 P1967「货车运输」这道题,首先要仔细阅读题目描述。 输入:一个图,n 个点,m 条边,每条边有 x, y, z,表示 x 和 y 之间有一条限重为 z 的路。然后是 q 次询问,每次询问两个点 x, y。 目标:对于每次询问 (x, y),需要找到一条从 x 到 y
状态压缩动态规划
第一部分:解密“状态压缩动态规划” “状态压缩动态规划”,听起来很高深,但其实它的核心思想非常朴素。让我们把它拆解成两个部分来理解:动态规划 和 状态压缩。 1. 什么是动态规划 (DP)? 动态规划是一种解决问题的策略,通常用于求解最优化问题。它的核心在于将一个大问题分解为若干个规模更小的、相互关
线段树结合矩阵乘法优化动态规划
《线段树结合矩阵乘法优化动态规划》 摘要 在算法竞赛(OI/ACM)中,动态规划(DP)问题是核心考点之一。当 DP 问题带有区间查询和单点修改时,传统的 DP 算法往往因时间复杂度过高而无法通过。本文将深入探讨一类经典问题:如何使用线段树维护矩阵乘法,来高效地优化一维线性 DP,使其能够支持动态修
卢卡斯定理
卢卡斯定理(Lucas' Theorem)是组合数学中用于计算大组合数模素数的核心定理,其核心思想是将大组合数分解为小组合数的乘积。以下结合参考文献进行详细讲解: 定理内容 对于素数 p 和非负整数 n, k,有: \binom{n}{k} \equiv \binom{\lfloor n/p \rf
DP动态规划中的“人人为我”与“我为人人”
在动态规划(DP)中,“人人为我”和“我为人人”是两种不同的状态转移思想,用于描述状态之间的依赖关系和更新方向: 1. 人人为我(Pull-based DP) 核心思想:当前状态的值 依赖于其他已知状态的值。 即:用“周围点的值”来计算“当前点的值”。 实现方式: 在计算状态 dp[i] 时,需要主
T179940 分段校验
T179940 分段校验 一道动态规划线段树优化题解 少有的整个文章由AI生成 题目原文 T179940 分段校验 题目描述 给定一个数组 a 和一个定值 m。你需要将序列 a 分成若干连续段,对于一段 a_l,...,a_r,定义其校验值为本段之和与定值 m 之差的绝对值,即 |(\s
集合位运算
B3695 集合运算 3题解 代码由博主编写,文章由deepseek-R1官网编写 博客食用更佳 题目解析 本题要求处理多个集合的修改和查询操作。每个集合包含1到m之间的整数,支持加减元素值并调整范围,以及查询两个集合的交集、并集和对称差的元素个数。使用位运算(bitset)高效处理集合操作是关键
P2420让我们异或吧
P2420让我们异或吧 代码由人类编写,文章由deepseek官网版本编写 博客食用更佳 题目解析: 本题要求我们在树结构中快速计算两个节点之间路径上所有边的异或值。由于树的结构特性,我们可以利用异或运算的性质来高效解决这个问题。 异或性质的应用: 异或运算具有以下重要性质: 自反性:a ^ a =