Link
很喵的想法,,虽然应该比较常见
Solution
当步长比较大的时候,步数就会很小
所以步长的时候暴力走
只计算步长的情况,就大大简化了问题!!!
这样对于小步长的计算,只需要预处理数组,表示步长为的时候走到根节点的权值和。
配合倍增和一点很多细节判断就可以过掉了。
Tips
没错,这种思路要记住:大范围暴力,小范围预处理!(怎么感觉不太对的样子233)
Code
1 |
|
很喵的想法,,虽然应该比较常见
当步长比较大的时候,步数就会很小
所以步长>√n的时候暴力走
只计算步长≤√n的情况,就大大简化了问题!!!
这样对于小步长的计算,只需要预处理数组sum[pos][B],表示步长为B的时候走到根节点的权值和。
配合倍增和一点很多细节判断就可以过掉了。
没错,这种思路要记住:大范围暴力,小范围预处理!(怎么感觉不太对的样子233)
1 | #include "lucida" |