Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.02.08;
Скачать: [xml.tar.bz2];

Вниз

Хоть и не пятница, но задачка   Найти похожие ветки 

 
Alkid   (2008-12-11 14:56) [0]

Если вам сейчас особенно нечем заняться :)

Дано: есть X символов. Очевидно, что из них можно получить X^K различных строк символов, если длина строки равна K.

Вопрос: сколько из них можно получить различных строк, если считать равными любые 2 строки, которые можно получить друг из друга путём циклического сдвига. Т.е. строки вида "ABCD", "BCDA", "CDAB" и "DABC" считать равными.

Интересует процесс вывода формулы на предмет совпадения (или не совпадения) стиля мышления.


 
БарЛог ©   (2008-12-11 15:22) [1]

Ну тут, имхо, мыслить будешь по-любому одинаково:
из-за сдвига имеем вместо К-строчек одну (делим на К), предварительно вычитаем число строк, состоящих из одинаковых символов (их число - Х).
прибавляем Х.

так?


 
Правильный$Вася   (2008-12-11 15:26) [2]

равные только при цикличном сдвиге? т.е. "BACD" приведенным не равна?


 
Bless ©   (2008-12-11 15:30) [3]


> БарЛог ©   (11.12.08 15:22) [1]
>
> Ну тут, имхо, мыслить будешь по-любому одинаково:
> из-за сдвига имеем вместо К-строчек одну (делим на К), предварительно
> вычитаем число строк, состоящих из одинаковых символов (их
> число - Х).
> прибавляем Х.
>
> так?


Неа :)
Не учел никак строки вида XYXY.


 
Bless ©   (2008-12-11 15:32) [4]

К тому же не исключено, что кроме "xyxy" и "xxxx" есть еще какие-нибудь "особые случаи", не знаю...


 
БарЛог ©   (2008-12-11 15:34) [5]

> Не учел никак строки вида XYXY.
омг! еще же XYZ и т.п.


 
БарЛог ©   (2008-12-11 15:36) [6]

А, ну тада делим на 1*2*3*4*5*...*X


 
Bless ©   (2008-12-11 15:39) [7]


> Alkid   (11.12.08 14:56)  


Вопрос "сколько из них можно получить различных строк"
следует читать как "сколько из них можно получить различных строк длины К"?


 
MBo ©   (2008-12-11 16:19) [8]

Формула, однако, вовсе не тривиальная...
Например, для бинарных строк (алфавит {0,1}) только подсчет по формуле займет порядка N*logN.


 
Alkid   (2008-12-11 18:03) [9]

Сорри, отвлёкся.


> БарЛог ©   (11.12.08 15:22) [1]

Нет, не правильно. Точнее, это частный случай формулы для всех простых K.


> Правильный$Вася   (11.12.08 15:26) [2]
>
> равные только при цикличном сдвиге? т.е. "BACD" приведенным
> не равна?

Да, только при циклическом сдвиге.


> Bless ©   (11.12.08 15:39) [7]

Да, все строки имеют длину K.


> MBo ©   (11.12.08 16:19) [8]

Формула не тривиальная, согласен. Но речь идёт не о перечислении всех возможных вариантов, а о подсчёте их количества. Количество всех бинарных, позиционно различающихся строк равен длиной K равен X^K и вычисление этого выражения никак не требует K*log(K) дейсвий.


 
БарЛог ©   (2008-12-11 18:35) [10]

(X^K)/(K*K!) + X  ?

K! берется из-за
Bless ©   (11.12.08 15:32) [4]
Из-за таких строк:
XYXYXY...
XYZXYZ...
....

что еще не учитывается?


 
Alkid   (2008-12-11 18:41) [11]


> БарЛог ©   (11.12.08 18:35) [10]

Мысли верны, но формула другая. Хотя вообще, не исключаю, что моя формула может быть приведена к твоей и обратно. Как выводил можешь объяснить?


 
Alkid   (2008-12-11 18:45) [12]


> БарЛог ©   (11.12.08 18:35) [10]
> что еще не учитывается?

Обрати внимание, что повторяющаяся последовательность должна укладываться в строку целое число раз. Т.е. для строки длиной 4  будет два варианта:
XXXX и XYXY. А для строки длиной 5 будет только 1 - XXXXX.


 
БарЛог ©   (2008-12-11 19:21) [13]

вышли, пожалуйста, ответ, если не хочешь публиковать.
yashik2000sobMail.ru
Чтоб не гадать.


 
Alkid   (2008-12-11 21:02) [14]


> БарЛог ©   (11.12.08 19:21) [13]

С выводом или без вывода?


 
palva ©   (2008-12-11 21:20) [15]

Ссылка по теме
http://www.omsu.omskreg.ru/vestnik/articles/y1998-i2/a021/article.html
Также можно почитать об этой задаче в учебнике алгебры Кострикина, если у кого завалялась эта книга.


 
Alkid   (2008-12-11 22:07) [16]


> palva ©   (11.12.08 21:20) [15]

Ну вот, испортил всю обед... викторину :)


 
palva ©   (2008-12-11 22:38) [17]

Alkid   (11.12.08 22:07) [16]
Скорее всего не испортил. Извиняюсь, в статье рассматривается другая задача.


 
Alkid   (2008-12-12 00:50) [18]

Да. В этой задаче отражение не делает строки равными


 
palva ©   (2008-12-12 09:23) [19]

Вот еще одна ссылка - понятная толковая статья
http://alexei.stepanov.spb.ru/students/algebra3/Bernside.pdf


 
MBo ©   (2008-12-12 09:24) [20]

>Количество всех бинарных, позиционно различающихся строк равен длиной K равен X^K и вычисление этого выражения никак не требует K*log(K) дейсвий.

Этого выражения - не требует, но известная мне формула для сдвигово-эквивалентных строк - увы, требует.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2009.02.08;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.006 c
2-1230177654
Merry
2008-12-25 07:00
2009.02.08
Долгое открытие программы


15-1229422288
cosinus
2008-12-16 13:11
2009.02.08
Вопрос про базы данных... Ламерский.


15-1228904376
keymaster
2008-12-10 13:19
2009.02.08
Проблема с cxGrid и multiselect


2-1230044352
bioss
2008-12-23 17:59
2009.02.08
Алгоритм для выделенияслов из строки


15-1229320470
desc
2008-12-15 08:54
2009.02.08
FloatToStr





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский