Джозеф рекуррентной формулы способ решить эту проблему

Джозеф описал проблему: п индивидуального круга, первый человек с самого началом номера пакета из пакетов м будет убит, а затем следующий человек из стартового сообщения. Итак, еще раз, последний оставшийся один из последних выживших ищет (нумерация с нуля).

 

 

Если вам нужно знать, что каждый из людей, убитых пронумерован, лучший подход может использовать связанный список. Но если вам нужно знать только конечное число выживших, то время сложность закона цепи недопустимо, используя рекуррентную формулу, чтобы решить эту проблему, она будет намного быстрее.

 

Рекуррентные формулы Baidu, что вы знаете, но ключ, как это рекурсивная формула выведена из него?

 

Наша цель состоит в том, конечно, хотите, чтобы быть в состоянии м и п показывает последнее число выживших, но, к сожалению, трудно непосредственно сделать это. Тем не менее, первый человек показан быть убитым числа т и п не сложно. Так как же это выразить? Пожалуйста, подумайте о первом, сдерживаться не смотреть вниз ~

 

↓ ↓ здесь один световой год

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если ваш ответ (т - 1) по модулю п, то вы правы! Ответ на этот вопрос не должен быть трудным для понимания.

(Примечание: мод представляет собой по модулю)

 

 

Теперь мы должны убить человек, а затем покинул п - 1 человек. Поскольку мы ищем рекуррентное соотношение, так что если вы можете найти п индивидуальных обстоятельств и п - 1 отношение между отдельными обстоятельствами дела, рекурсивная формула вышли. И только теперь круг остальные п - 1 лицо, это означает, что мы будем необходимости сосредоточиться на анализе, что оставшиеся п - 1 индивидуальных.

 

В соответствии с первым числом людей, убитые, мы можем другие выражаются м, а число п, как показано ниже.

 

Перенумеруем все. Ставим обратно число сообщили во втором туре первого ряда журналистов, который является первым человеком, который будет убит, что человек, перенумерован 0, 1, 2, были люди позади .... ,

 

 

Ха-ха. Тогда вы присмотритесь, то проблема не была преобразована в: п - 1 личного круга, первый человек, с самого начала номер газеты, сообщает м будет убит, а затем следующий человек из 1 Gettin , Итак, еще раз, последний оставшийся один из последних выживших ищет (нумерация с нуля). В дополнение к «п личного» в - другом, чем «N 1 личный», остальные условия полностью неизменными.

 

Кроме того, мы можем легко наблюдать связь между старым номером и новым номером. Легко заметить, что, если человек новый номер я, то его старый номер (М + I) по модулю п.

 

到了现在,我们已经可以很轻松地推导出递推公式了。我们定义这样一个函数f(x,y) : f(x,y)表示当约瑟夫问题中的n = x,m = y时幸存者的编号。回到上面n - 1个人的情况,显然,幸存者的新编号就是f(n - 1,m),那么根据我们刚刚发现的新编号与旧编号之间的关系,就可以得出幸存者的旧编号是(m + f(n - 1,m)) mod n,这个不正好就是我们所寻找的递推关系嘛?

 

就讲到这里吧。至于具体如何用这个递推公式解决约瑟夫问题,太简单了,就留给你们自己想a.a

рекомендация

отwww.cnblogs.com/ZhouYiJoe/p/12147052.html