- 博客(5)
- 收藏
- 关注
原创 XTUOJ-完全平方数I
当n为奇数时,n个连续整数的和可表示为S = n × (a + (n-1)/2)。要使S为完全平方数,即n × (a + t) = k²。若n含有平方因子,则可分解为n = c² × n₀。此时只需让n₀ × (a + t) = m²,即a = m² × n₀ - t。通过枚举m值(从0开始),找到使a≥0的最小解。若无平方因子,则直接取a = (n+1)/2。此法利用n自身的平方结构,降低了问题规模,可能找到更优解。是通过对公式分析后偏向于。
2025-10-25 20:53:29
223
原创 XTUOJ-区间
这道题要找的就是最短的移除子串,使得剩下的字符串里每种字符都不超过给定数量。用前缀和数组快速计算任意子串中各字符的出现次数,然后从小到大枚举子串长度,前缀和能让我们在O(1)时间内算出子串包含的字符数,做法就是从长度1开始尝试,一旦找到满足条件的最短子串就立即输出结果。
2025-10-23 00:20:12
148
原创 XTUOJ-回文数
最直观的想法是从2开始逐个尝试每个进制,直到找到第一个满足条件的。但n最大为1e6,如果答案很大,需要尝试的次数太多,必然超时。2位数:形式为[x1,x2],要成为回文必须x1 = x2,即n = x2 × b + x1 = x1(b + 1)我们只需要枚举n的约数x1,计算b = n/x1 - 1,验证b > √n即可。1位数:形式为[x1],此时n = x1 < b,总是回文。(b ≤ √n):直接转换并检查回文,最多√n次尝试。
2025-10-09 00:30:17
224
原创 XTUOJ-公共的数
指数级增长,项数很少(≤ 30项,从样例也可以看出来),直接生成所有项,暴力比较即可。,公共项就是 b 和 d 的公倍数,故答案为10⁹ / lcm(b, d)遍历增长较快的线性递推序列,检查每项是否能被等差数列的差值整除,且保证项数合法。
2025-10-06 11:09:55
366
原创 XTUOJ-奇怪的开关
(解释:当随机选一盏灯这个行为发生时就已经默认步数+1,接下来有相应几率触发点亮i盏的状态,即原态,或点亮i+1盏灯的状态,理解的话E[i]其实表示是从当前点亮i盏开始到点亮全部n盏灯所需要的期望步数,所以其实我们要求的是E[m]-E[k])关键思路:设 E[i] 表示从 i 盏亮灯到 n 盏全亮的期望步数。然后会推导出一个总的分式,再分别按规律更新分子分母即可。对于每一个样例的n和k计算该公式即可。的概率点亮未亮的灯,状态变为。的概率点亮已亮的灯,状态。
2025-10-06 00:43:36
287
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅