随笔分类 - 算法
记录一些关于算法的思考、总结以及题解
摘要:题意概述 给定长度为 \(n\) 的数组 \(a\),每次操作选择一个区间 \([l,r]\) 将 \(a\) 的所有元素加一或者减一。求最少操作次数使得 \(a\) 的每个元素相等,并求出在此前提下,有多少种不同的最终序列。 题目链接:增减序列 思路 设 \(d\) 为 \(a\) 的差分数组(从
阅读全文
摘要:求 \(A^B\) 的所有约数之和 \(S \bmod 9901\) 的值。 测试链接:约数之和 根据算术基本定理,每个正整数可以被唯一分解为若干质因数的幂的乘积,那么: \[A=p_{1}^{a_{1}} \times p_{2}^{a_{2}} \times \dots \times p_{k}
阅读全文
摘要:快速幂用于求解 \(a^b \bmod p\) 问题。 设 \(b\) 的二进制表示有 \(k\) 位,其中第 \(i \ (0\le i < k)\) 位为 \(c_i\),那么将 \(b\) 按照位权展开,于是: \[b=c_{k-1}2^{k-1}+c_{k-2}2^{k-2}+...+c_0
阅读全文
摘要:问题背景 背包问题是运筹学领域经典的组合优化问题,核心目标是在给定资源约束(如背包容量)下,从一组物品中选择一个子集,使得选中物品的总价值最大化(或总消耗最小化),同时满足资源约束条件。 一、01 背包 (一)、题目概述 给定 \(n\) 个物品和一个容量为 \(m\) 的背包。第 \(i\) 个物
阅读全文

浙公网安备 33010602011771号