Редактирование: Метод двоичного подъёма

Перейти к: навигация, поиск

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 30: Строка 30:
  
 
==Псевдокод==
 
==Псевдокод==
 +
<code>
 
   '''function''' preprocess():
 
   '''function''' preprocess():
 
       '''int[]''' p = dfs(0)
 
       '''int[]''' p = dfs(0)
Строка 42: Строка 43:
 
         swap(v, u)
 
         swap(v, u)
 
       '''for''' i = log(n) '''downto''' 0
 
       '''for''' i = log(n) '''downto''' 0
         '''if''' d[dp[u][i]] - d[v] >= 0
+
         '''if''' d[dp[u][i]] - d[v] >= 0 <tex>\geqslant 2 ^ i </tex>
 
             u = dp[u][i]
 
             u = dp[u][i]
 
       '''if''' v == u
 
       '''if''' v == u
Строка 51: Строка 52:
 
             u = dp[u][i]
 
             u = dp[u][i]
 
       '''return''' p[v]
 
       '''return''' p[v]
 +
</code>
  
 
==См. также==
 
==См. также==

Пожалуйста, учтите, что любой ваш вклад в проект «Викиконспекты» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Викиконспекты:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

Чтобы изменить эту страницу, пожалуйста, ответьте на приведённый ниже вопрос (подробнее):

Отменить | Справка по редактированию (в новом окне)

Шаблон, используемый на этой странице: