首页 > 其他 > 详细

【2018沈阳现场赛k】

时间:2019-05-13 10:35:07      阅读:208      评论:0      收藏:0      [点我收藏+]

Let the Flames Begin- 约瑟夫环数学推导

题意:有 n 个人围成一个圈,从 1 开始报到第 k 个人出环,问第 m 个出环的人是谁,n、m、k <= 1e18 且 min(m,k)<= 2e6。

Sample Input
20
10 1 2
10 2 2
10 3 2
10 4 2
10 5 2
10 6 2
10 7 2
10 8 2
10 9 2
10 10 2
10 1 3
10 2 3
10 3 3
10 4 3
10 5 3
10 6 3
10 7 3
10 8 3
10 9 3
10 10 3

Sample Output

Case #1: 2
Case #2: 4
Case #3: 6
Case #4: 8
Case #5: 10
Case #6: 3
Case #7: 7
Case #8: 1
Case #9: 9
Case #10: 5
Case #11: 3
Case #12: 6
Case #13: 9
Case #14: 2
Case #15: 7
Case #16: 1
Case #17: 8
Case #18: 5
Case #19: 10
Case #20: 4

刚开始看到这道题的时候,感觉与计蒜客上有关队列的练习题十分类似,所以便利用队列的知识来解决,对于题目给出的测试案例,运行结果是正确的,可是提交上去
显示超时,百思不得其解,最终只有放弃。

后来看了题解才知道要使用约瑟夫环问题的数学解
代码:

【2018沈阳现场赛k】

原文:https://www.cnblogs.com/LJHAHA/p/10854951.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!