压位高精注意事项
查看原帖
压位高精注意事项
87064
ducati楼主2022/5/12 08:51

被压位高精逼吐了,交了整整一页,还是把犯得各种 SB 或不 SB 的错误总结一下吧。

  • 大于等于 base 进位,而不是大于 base 才进位。

  • 普通的压位高精要注意,如果 base 太大,那么乘上一个东西之后可能会爆 long long。比如这题中,把 base 设置成 1e16 的话,那么乘上一个 1e5 就直接溢出了。如果你用龟速乘或者 __int128 维护那么当我没说。建议用 long long 的童鞋将 base 设置成 1e14.

  • 最后输出答案的时候要补齐位数。对于首个有值的位直接输出,之后的都要补齐 1414 位。要是不补齐的话,比如你连乘了 141400,应该输出 101410^{14} 才对,但是你却输出了 1010,因为低位上的那个 00 应该对应 141400,而你却没有补齐只输出的一个 00。至于如何补齐,printf(%014lld\n",a[i]) 就好了。

希望能有些帮助吧 /kel

2022/5/12 08:51
加载中...