217小R的雪球滚落计算 题解问题描述在一座高度为 $H$ 的山上,每个高度 $i$ 处生成了 $a_i$ 个雪球。当雪球从海拔高度 $i$ 滚到地面时,它的体积会膨胀 $x^i$ 倍。也就是说,雪球的初始体积为 $1$,滚动距离 $i$ 会使体积变成 $1 \times x^i$。我们需要计算所有滚落到地面的雪球的总体积,并对结果取模 $10^9 + 7$。 思路 理解雪球体积膨胀规则: 每个雪球从高度 $i$ 滚落到 2024-12-25 #快速幂
213小R的排列挑战 题解小 R 有一个长度为 n 的排列,排列中的数字是 1 到 n 的整数。她每次操作可以选择两个数a_i和a_j进行交换,前提是这两个数的下标 i 和 j 的奇偶性相同(即同为奇数或同为偶数)。目标是通过最少的操作使数组变成升序排列,如果无法实现则输出-1。 思路 下标分组:将数组根据下标的奇偶性分为两部分: 奇数下标元素(0-based,即索引为 0,2,4,…) 偶数下标元素(索引为 1,3 2024-12-25 #逆序对 #树状数组
214小R的权值计算 题解问题理解给定一个长度为 n 的数组 a,小 R 定义任意子数组的权值为 1×b₁ + 2×b₂ + ... + m×bₘ,其中 m 是子数组的长度,b₁, b₂, ..., bₘ 是子数组中的元素。要求计算所有子数组权值的和,结果需对 10^9 + 7 取模。 解题思路 b1 b2 b3 b4 b5b1+2b2 b2+2b3 b3+2b4 b4+2b5b1+2b2+3b3 b2+2b3+3b4 2024-12-25 #枚举 #前缀和
211小R的并集大小期望计算 题解小 R 有n个集合,每个集合中的元素都是唯一的且互不相同。她希望通过随机选择两个集合,并计算它们的并集大小,来求出并集大小的期望值。结果需要保留两位小数。题目保证输入至少有两个集合。 问题分析要计算随机选择两个集合的并集大小的期望值,关键在于确定每个元素在这两个集合的并集中出现的概率。具体步骤如下: 元素出现次数统计: 首先统计每个元素在所有集合中出现的次数。即,元素x出现于v个不同的集合 2024-12-24 #数学
209 小R的子数组权值 题解题目描述小 R 有一个长度为 n 的数组 a,她定义每个子区间 [l, r] 的权值为 a[l] | a[l+1] | ... | a[r],即该区间内所有元素的按位或运算结果。小 R 非常好奇,在这 n × (n + 1) / 2 个子区间中,究竟有多少种不同的权值。 解题思路对于两个二进制数 a 和 b,如果满足 a & b = a,从集合的角度来看,a 对应的集合是 b 对应集合 2024-12-24 #logTrick
203小Q和小X的游戏 203 小 Q 和小 X 的游戏问题描述小 Q 和小 X 是很好的朋友,她们正在玩一个游戏。她们拿到了一个数组,游戏开始时小 Q 随机选择一个元素作为起点。接着,两人轮流行动,小 Q 先行动。 每次行动时,当前玩家需要选择当前元素左边比它更小的元素,然后移动到该元素,接下来换另一方从这个元素继续移动。如果某一方无法进行合法的移动,则该方输掉游戏。 小 Q 想知道,在双方都采取最优策略的情况下,她最 2024-12-23 #思维
193小K的区间与值和 193 小 K 的区间与值和问题描述小 K 有一个长度为 n 的数组 a,她定义数组的权值为数组中任意两个数按位与(bitwise AND)的值之和。具体来说,对于数组中的每个连续子数组,我们可以计算所有可能的两个元素的按位与值之和,并将这些值相加。小 K 想知道该数组中所有可能的连续子数组的权值和是多少,最后结果对 $10^9 + 7$ 取模。 解题思路为了高效地计算所有连续子数组的权值和,我们 2024-12-23
Python 算法常用库函数 本文介绍一些常用的 py 库函数 内置函数 abs(x)返回一个数字的绝对值。参数可以是整数、浮点数、复数等。如果参数是一个复数,则返回它的模。 all(iterable)如果 iterable 的所有元素均为真值(或可迭代对象为空)则返回 True 。示例代码: 123nums = [1, 2, 3, 4, 5]# 检查是否所有元素都是偶数print(all(x % 2 == 0 for 2024-12-23 #Python 算法 库函数
Python 算法常用库函数 本文介绍一些常用的 py 库函数 内置函数1.1 abs(x)返回一个数字的绝对值。参数可以是整数、浮点数、复数等。如果参数是一个复数,则返回它的模。 1.2 all(iterable)如果 iterable 的所有元素均为真值(或可迭代对象为空)则返回 True 。示例代码: 123nums = [1, 2, 3, 4, 5]# 检查是否所有元素都是偶数print(all(x % 2 == 2024-12-23 #算法 #Python #库函数
149小A的移动点 问题描述小 M 有n个点,每个点的坐标为 ($x_i$, $y_i$)。她可以从一个点出发,沿着坐标轴方向移动,直到到达另一个点。具体来说,可以从 (x1, y1) 直接移动到 (x2, y1) 或者 (x1, y2),但无法直接移动到 (x2, y2)。为了确保任意两个点之间都可以通过这种路径互相到达,小 M 需要增加最少数量的新点。 题解解题思路这个问题可以转化为图论中的连通性问题。将每个点看 2024-12-23 #算法 #图论 #并查集