3 条题解
-
0
从题意可知:在分发后如果少于 n 块那么剩下的就全部作为奖励,所以理论上最大的奖励数量就是n – 1。很自然地,你就会想到这个就是个取模/取余的操作嘛!那么题解其实就变成了:求在L到R的范围内对n取模的最大值。枚举一下就可以得到轻松得到最大值了,不过呢,某些个测试数据是在10^9级别的,所以用循环的常规操作就会超时,这部分分值就拿不到了。读题时要对数据范围敏感。我们只要观察所给数据 L,R(L<=R),假设对所给数据L对n取模得m, 取d = R - L为偏移量(R对n取模即为m在完全剩余系循环上的偏移),对m+d分两种情况: 若他们同处于n-1左侧,则取m+d即为最大奖励数; 若m, m+d横跨过n-1则最大值即是 n-1。
- 1
信息
- ID
- 588
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 37
- 已通过
- 5
- 上传者