|
Подпалиндромы | ☑ | ||
---|---|---|---|---|
0
Timon1405
23.03.15
✎
12:09
|
Дана последовательность длины 100, состоящая из нулей и единиц. Несколько цифр, стоящих подряд (возможно, одна), образуют подпалиндром, если последовательность этих цифр одинаково читается от начала к концу и от конца к началу. Какое наименьшее количество подпалиндромов может быть в последовательности?
|
|||
1
Кирпич
23.03.15
✎
12:16
|
их вроде лазером выжигают. говорят болезненная процедура.
|
|||
2
aka AMIGO
23.03.15
✎
12:17
|
(0) один :)
|
|||
3
Timon1405
23.03.15
✎
12:21
|
(2) ну сотка-то по-любому будет)
|
|||
4
Сергей Д
23.03.15
✎
12:48
|
Дык... один наверное :)
|
|||
5
Timon1405
23.03.15
✎
12:52
|
(4) каждая цифра сама себе подпалиндром, так что их точно больше чем 1;)
|
|||
6
Сергей Д
23.03.15
✎
12:54
|
(5) Вопрос заключается в том, какое НАИМЕНЬШЕЕ количество.
|
|||
7
User_Agronom
23.03.15
✎
13:00
|
(0) Вопрос не совсем ясен. Мне кажется один.
Например, последовательность из 100 единиц. Или из 100 нулей. |
|||
8
kosts
23.03.15
✎
13:34
|
(7) +1 И нужно ли считать подпалиндромы внутри других подпалиндромо, или могут ли пересекаться подпалиндромы.
|
|||
9
Aceforg
23.03.15
✎
13:38
|
(7) В последовательности из 100 одинаковых символов 100 подпалиндромов, начиная от 1, 11 , 111 и т.д.
|
|||
10
Aceforg
23.03.15
✎
13:42
|
(0) Надо считать каждый подпалиндром или только уникальные?
|
|||
11
Timon1405
23.03.15
✎
13:51
|
(10) Каждый
|
|||
12
Timon1405
23.03.15
✎
13:55
|
(11)+ таким образом в (9) описаны 100 однобуквенных+ 99двубуквенных+...+1 стобуквенный подпалиндром = 5500штук.
очевидно, что это и есть максимум 5500/из 5500 возможных. а в задаче спрашивается, каков минимум (?)/из 5500 |
|||
13
DirecTwiX
23.03.15
✎
14:08
|
Кому не слабо написать регулярку для поиска подпалиндромов?:)
|
|||
14
Timon1405
23.03.15
✎
14:13
|
(13) регулярки с палиндромами ЗаранееНеИзвестноКакойДлины вроде не дружат)
|
|||
15
Ненавижу 1С
гуру
23.03.15
✎
14:22
|
имхо, 198, но пока доказать не могу
|
|||
16
bolobol
23.03.15
✎
14:29
|
Если в комнате загорелась бумага в корзинке и имеется ведро песка:
- химик засыплет огонь песком - физик осыплет очаг вокруг и станет наблюдать за процессом - лишь математик сразу понимает что задача имеет решение и теряет к ней интерес... |
|||
17
bolobol
23.03.15
✎
14:30
|
(15) Задача именно на доказательство. Предсказать - это прогноз погоды))
|
|||
18
Timon1405
23.03.15
✎
14:30
|
(15) отгадал) осталась оценка и пример)
|
|||
19
Aceforg
23.03.15
✎
14:33
|
(18)100111000011111..... такой ряд?
|
|||
20
Timon1405
23.03.15
✎
14:37
|
(19) таких рядов может быть много, если не лень, напиши программку-проверяйку)
|
|||
21
Aceforg
23.03.15
✎
14:37
|
+19 ошибочка. для такого ряда 575 получается.
|
|||
22
bolobol
23.03.15
✎
14:38
|
(20) А математически не решается задача?
|
|||
23
Aceforg
23.03.15
✎
14:38
|
#include <iostream>
#include <vector> #include <string> using namespace std; int main() { string s="1001110000111110000001111111000000001111111110000000001111111111000000000001111111111110000000000000"; //1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"; int a[100][100]; int n = s.length(); cout<<n<<endl; for(int i = 0; i < n; i++) a[i][i] = true; int res = n; for(int l = 2; l <= n; l++) for(int i = 0; i + l - 1 < n; i++) { if((s[i] == s[i+l-1]) && ((l == 2) || (a[i+1][i+l-2]))) { a[i][i+l-1] = true; res ++; } } cout << res<<endl; return 0; } если нет компилятора запускаем тут |
|||
24
Aceforg
23.03.15
✎
14:38
|
||||
25
Timon1405
23.03.15
✎
14:40
|
(22) ну она же в секции математика, а не одинэсинг, значит решается)
|
|||
26
DirecTwiX
23.03.15
✎
15:06
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
Пока нашёл 248) Для строки 1011001000101110101111000101101011001011001000110101000011000101011001010001100101011011001111011110 |
|||
27
Ненавижу 1С
гуру
23.03.15
✎
15:56
|
пример нашелся, периодическая последовательность с периодом:
010011 очевидно, если есть подпалиндром длины N, то есть и длины N-2, но перебором видно, что ни длины 5, ни длины 6 подпалиндромов нет Для каждого элемента есть единственный подпалиндром длины больше 1, начинающийся с этого элемента, за исключением 98-го и 100-го осталось доказать, что меньше нельзя |
|||
28
Aceforg
23.03.15
✎
16:11
|
(27) для 0100110100110100110100110100110100110100110100110100110100110100110100110100110100110100110100110100
получается 210 подпалиндромов |
|||
29
Ненавижу 1С
гуру
23.03.15
✎
16:19
|
(28) выведи на экран подпалиндромы, врет твоя программа
|
|||
30
Salimbek
23.03.15
✎
16:22
|
(29) Вроде "0", "1", "00", "11", "101", "010", "1001" и "0110"
|
|||
31
Ненавижу 1С
гуру
23.03.15
✎
16:24
|
(30) не только
вот это оно посчитало палиндромом "010011010" |
|||
32
Salimbek
23.03.15
✎
16:27
|
(31) Ну я же сам искал, а не через ПО ;-)
|
|||
33
Ненавижу 1С
гуру
23.03.15
✎
16:28
|
(32) ну и сколько нашел?
|
|||
34
Salimbek
23.03.15
✎
16:32
|
(33) Для 0100110100110100110100110100110100110100110100110100110100110100110100110100110100110100110100110100
"0" - 51 "1" - 49 "00" - 17 "11" - 16 "010" - 17 "101" - 16 "0110" - 16 "1001" - 16 Итого: 198 |
|||
35
Ненавижу 1С
гуру
23.03.15
✎
17:17
|
Для слова длины N имеется не менее 2*(N-1) подпалиндромов
Доказательство Для любого элемента "достаточно далекого от конца" верно одно из двух: 1. Есть подпалиндром длины от 2 до 4, начинающийся с этого элемента 2. Этот элемент является началом слова "0111"/"1000" (но в этом случае количество подпалиндромов длины более 1, начинающихся с первых трехсимволов есть три). Выгоды нет Понятно, что это неверно для последнего элемента Перебором устанавливается, что это может быть неверно для ТОЛЬКО ОДНОГО из 2,3,4 по счету с конца элемента Как-то так |
|||
36
DirecTwiX
23.03.15
✎
17:57
|
Четко, что сказать)
Ждём ТС с его решением) |
|||
37
Ненавижу 1С
гуру
23.03.15
✎
21:02
|
Все проще.
Элемент является началом подпалиндрома длины больше 1 тогда и только тогда, когда правее него есть равный ему элемент. Для слова длины N таких элементов N-2 Значит всего подпалиндромов N+N-2 |
|||
38
Ненавижу 1С
гуру
23.03.15
✎
21:15
|
(37) точнее не меньше
|
|||
39
Ненавижу 1С
гуру
23.03.15
✎
21:17
|
А если в слове три символа встречаются: 0,1,2?
|
|||
40
RomanYS
23.03.15
✎
21:25
|
(39) тогда можно сделать только одинарные:
012012012... |
|||
41
Timon1405
23.03.15
✎
21:31
|
авторское решение
Ответ. 2n–2. Решение. Оценка. Индукция по числу символов. При n = 2 палиндромов хотя бы два – каждый из символов. При n = 3 – хотя бы четыре: три символа и одна из конфигураций aa или aba. Пусть уже доказано, что при n = k (k ? 3) палиндромов не меньше, чем 2k–2. Добавим справа символ a. Он сам по себе палиндром, и если в последовательности, к которой мы его дописали, есть хотя бы одна буква a, то добавился ещё палиндром вида ab…ba; в противном случае та последовательность состояла из k букв b, и в ней было не менее, чем k+(k–1)+…+1 = k(k+1)/2 ? 2k палиндромов. Как видим, в обоих случаях палиндромов будет не меньше, чем 2(k+1)–2 = 2k. Пример. Рассмотрим последовательность 100110100110… (период 6). Примером для любого k служит её начальный отрезок длины k. В самом деле, в отрезке 10 два палиндрома, в отрезке 100 – четыре палиндрома, а далее перебором шести случаев нетрудно убедиться, что добавление каждого следующего знака увеличивает количество палиндромов ровно на два. |
|||
42
sda553
24.03.15
✎
07:12
|
(41) В доказательстве по индукции строится новая последовательность длиной k+1 с минимальным количеством подполиндромов, путем добавления символа к последовательности длиной k с минимальным количестаом подполиндромов.
Однако я не нахожу очевидным это, что последовательность длиной k+1 содержит в себе последовательность длиной k. |
|||
43
Ненавижу 1С
гуру
24.03.15
✎
09:00
|
(42) ЛЮБОЕ слово длины k содержит не менее 2*(k-1) палиндрома, это предположение индукции
Добавление к любому слову длины k еще одного символа увеличивает число палиндромов не менее чем на 2, это шаг индукции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |