用的是 题解 1 和 题解 2 里的方法,被卡常了。最后一个 Subtask 只过了一个点,其他有些差个零点零几秒的,测试记录,代码。
用 clock_t 测了一下,主要是 BSGS 耗时大,PART 2 和 PART 3 耗时差不多,可以通过常数 K 调整两者耗时。不知道会不会是 unordered_map 常数略大了。
Lost_Desire_Init 函数耗时约 300 ms 左右,但是不知道还能怎么优化。用 uint 是因为模数可能是 2e9 级别,用 uint 相加时可以不开 ll,应该可以省些常数。此外其他说明写在代码注释里了。