社区讨论

警示后人,本体可能的错误点合集

P5012水の数列参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mhk2i3bd
此快照首次捕获于
2025/11/04 12:27
4 个月前
此快照最后确认于
2025/11/04 12:27
4 个月前
查看原帖
  1. 计算或比较新权重 =scorenum=\frac{score}{num} 时,记得强制转为浮点数(比较法的可以转为乘法比较)。
  2. 原始得分的最大值可达到 (106)2=1012(10^6)^2=10^{12},超出 int32\text{int32} 的范围。
  3. 计算 [l,r][l, r] 时可能发生越界,分析如下:
    lastanslastans 的最大值可达到 (106)2106=1018(10^6)^2*10^6=10^{18},乘上 a,ba, b 时可能超出 int64\text{int64} 的范围,可能的解决方案如下:
    1. int128\text{int128} 存储中间结果。
    2. 根据模运算的性质,直接存储 lastansmodnlastans \mod n 的值,需要注意 l,r,lastansl, r, lastans 的中间运算结果仍可能超出 int32\text{int32}
  4. 注意数组越界,数组下标范围。
  5. "如果有多解则输出选择的数最大的一组。"
  6. 注意数列中相等的数的处理。
  7. 请注意计算得出的 rr 是否过大。
  8. 请确保你的 ST 表,线段树,双指针等写法正确,这是基本功。

回复

1 条回复,欢迎继续交流。

正在加载回复...