poj 1012约瑟夫问题_codestorm_新浪博客

本文探讨了约瑟夫问题的模拟法与数学方法,在特定条件下优化算法的时间复杂度。通过对问题特性的分析,提出了避免直接求解前k个元素的新思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目不再赘述,本来按照约瑟夫的模拟法复杂度应该是O(m*n^2),若用了数学方法可在每次搜索下一个位置时的k重循环将为1次常数,变为O(m*n)(n=2*k)。但此题并不适合用数学倒推求出前k个元素,因为每轮循环求得的都是当轮的元素坐标,必须倒退到1轮才可转化为真是坐标,复杂度又回到O(n^2)。

本题特点为前k个和后k个顺序不变,所以每次虽然有元素缺失无法确切求到新元素位置,但只要“不在前k个”就行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值