
Roman
13.09.2016
15:21:16
>есть возможность защитить средствами ПВО только любые шесть объектов


Vladimir
13.09.2016
15:22:34
Вот вам, задачка достойная могучих умов разработчиков:
Могущественная террористическая организация СПЕКТР собирается нанести ракетный удар по каким-то двум из десяти секретных объектов разведывательной службы МИ-6, у которой есть возможность защитить средствами ПВО только любые шесть объектов: если атакован будет любой из них, то ракеты будут сбиты на подлете. Но если атакован будет какой-то из незащищенных объектов, то он будет полностью уничтожен.
К счастью, Джеймс Бонд сможет в день атаки узнать, какие именно объекты будут атакованы, и после этого сможет передать в штаб МИ-6 два бита информации. Помогите штабу и Бонду договориться о таком способе передачи информации, чтобы ни один из атакуемых объектов не пострадал.
пронумеруем атакуемые объекты от 1 до 10
если первый бит 1 - первый атакуемый объект между 1 и 4 включительно
если второй бит 1 - второй атакуемый объект между 3 и 6 включительно
соответственно:
00 - достаточно защитить 7,8,9,10
10 - защищаем 1,2,7,8,9,10
01 - защищаем 5,6,7,8,9,10
11 - защищаем 1,2,3,4,5,6


Vladimir
13.09.2016
15:23:06
А не, я все правльно прочитал

Дмитрий
13.09.2016
15:23:52
пронумеруем атакуемые объекты от 1 до 10
если первый бит 1 - первый атакуемый объект между 1 и 4 включительно
если второй бит 1 - второй атакуемый объект между 3 и 6 включительно
соответственно:
00 - достаточно защитить 7,8,9,10
10 - защищаем 1,2,7,8,9,10
01 - защищаем 5,6,7,8,9,10
11 - защищаем 1,2,3,4,5,6
?

Google

Никита
13.09.2016
15:26:12
Это задача для 10 класса же, или когда там про коды коррекции ошибок объясняют?
пронумеруем атакуемые объекты от 1 до 10
если первый бит 1 - первый атакуемый объект между 1 и 4 включительно
если второй бит 1 - второй атакуемый объект между 3 и 6 включительно
соответственно:
00 - достаточно защитить 7,8,9,10
10 - защищаем 1,2,7,8,9,10
01 - защищаем 5,6,7,8,9,10
11 - защищаем 1,2,3,4,5,6
первый и второй — в каком порядке?

Vladimir
13.09.2016
15:31:13

Никита
13.09.2016
15:34:17

Vladimir
13.09.2016
15:36:15
мне все равно кажется, что это невозможно

Никита
13.09.2016
15:36:44
Безопасные группы.
Четыре штуки.
Атакуй.

Vladimir
13.09.2016
15:37:09
Хмм
Видимо 2 имеет значение

Никита
13.09.2016
15:37:25
М?

Vladimir
13.09.2016
15:37:31
То что я атакую две

Google

Никита
13.09.2016
15:37:39
Какие?
=)
Тут смысл в том, чтобы выбрать такие 4 набора по 4 числа, которые ты не сможешь затронуть все одновременно двумя выстрелами.

Vladimir
13.09.2016
15:38:11
Не, я просто произвел расчет, но он неявно подразумевает, что можно атаковать 4

Никита
13.09.2016
15:38:31

Vladimir
13.09.2016
15:38:42
Смотри, логика следующая

Никита
13.09.2016
15:38:54

Vladimir
13.09.2016
15:39:00
да, да)
но все же
нужно передать информацию о 4 выбранных объектах

Vladimir
13.09.2016
15:39:22
пронумеруем атакуемые объекты от 1 до 10
если первый бит 1 - первый атакуемый объект между 1 и 4 включительно
если второй бит 1 - второй атакуемый объект между 3 и 6 включительно
соответственно:
00 - достаточно защитить 7,8,9,10
10 - защищаем 1,2,7,8,9,10
01 - защищаем 5,6,7,8,9,10
11 - защищаем 1,2,3,4,5,6
Немного неверно сформулировал, вот так:
если первый бит 1 - один из атакуемых объектов между 1 и 4 включительно
если второй бит 1 - второй атакуемый объект между 3 и 6 включительно

Vladimir
13.09.2016
15:39:24
всего их 10
количество комбинаций 10! / 4!(10 - 4)!
= 210
log 2 210 = ~7.7
итого 8 бит
но, фишка в том что конкретная комбинация не нужна

Никита
13.09.2016
15:41:14
5 потерялся.

Vladimir
13.09.2016
15:44:30
А стоп

Google

Vladimir
13.09.2016
15:44:48
В твоем решении
1, 7 например

Никита
13.09.2016
15:45:17

Vladimir
13.09.2016
15:45:43
а, понял, группы незащищенных

Никита
13.09.2016
15:46:05
Ага.

Vladimir
13.09.2016
15:46:15
3, 7?

Никита
13.09.2016
15:46:25
12 56

Vladimir
13.09.2016
15:46:34
не

Никита
13.09.2016
15:46:40
М?

Vladimir
13.09.2016
15:47:14
похоже на правду

Никита
13.09.2016
15:47:31
Там всё строго — если ты не затронешь последнюю группу, то она безопасна. Если ты хочешь затронуть последнюю группу, то в диапазоне 1-6 у тебя один выстрел.
А там три группы, у которых нет общего на всех трёх пересечения.

Никита
13.09.2016
15:48:02
То есть по крайней мере одну ты не затронешь.
А вообще неплохая задачка, буду студентам давать.

Vladimir
13.09.2016
15:49:16
Осталась в рамках комбинаторики и теории информации показать
необходимое количество информации

Дмитрий
13.09.2016
15:49:29
да не за что :)

Vladimir
13.09.2016
15:49:34
чет сходу не получается

Дмитрий
13.09.2016
15:49:39
у нас тут пол офиса над ней упарывалось

Google

Никита
13.09.2016
15:49:57

Vladimir
13.09.2016
15:50:16
Показать, что допустим достаточно <2 бит теоретически

Никита
13.09.2016
15:50:31
А, ну то есть проверить на строгость, да.
Что 2 бит достаточно — я пример привёл. Меньше двух — да, надо информацию мерять.

Дмитрий
13.09.2016
15:52:53
разными, тестировщики, разработчики...

Никита
13.09.2016
15:53:06
А.
Хочешь ещё задачку простую, для школьников/студентов?

Admin
ERROR: S client not available

Дмитрий
13.09.2016
15:53:37
хых
от вашего стола нашему?

Никита
13.09.2016
15:53:50
Известную, впрочем, которая становится тривиальной если вспомнить кое-чего.
Ага.

Дмитрий
13.09.2016
15:54:11
Ну можно, только я буду в пути через несколько минут

Никита
13.09.2016
15:55:20
Есть очередь неизвестной длины. В ней лежат, допустим, числа. У очереди есть операции push/pop/shift/unshift плюс проверка на нулевой размер (для корректности). Внутрь реализации лезть нельзя, она в чёрном ящике.

Дмитрий
13.09.2016
15:56:00
Очередь шредингера

Никита
13.09.2016
15:56:11
Надо за константную память (зануда-моуд: за память С1 * логарифм длины очереди + C2) вычислить длину очереди.

Дмитрий
13.09.2016
15:56:15
:)

Никита
13.09.2016
15:56:22
Надо оставить очередь в таком же состоянии, как она была.
В конце работы.

Google

Alexandr
13.09.2016
15:57:11
с каких пор логарифм от длины — константа?)

Никита
13.09.2016
15:57:42
Очевидно же.

Alexandr
13.09.2016
16:00:01
если тоже включить зануду, то константа не может зависеть от длины по определению, очевидно же)

Никита
13.09.2016
16:00:52
Это чтобы никто не сказал «а давайте заведём таблицу из всех интов»
«она же константного размера»
Так лучше?

Alexandr
13.09.2016
16:03:24
ага, тогда любая задача решается за константное время, только константа порядка n! :)

Никита
13.09.2016
16:04:05

Vladimir
13.09.2016
16:04:31
а в чем проблема? или очередь в конце должна остаться целой?)

Никита
13.09.2016
16:04:41

Alexandr
13.09.2016
16:05:01
ограничения по времени нет?)

Никита
13.09.2016
16:05:11
И да, добавление лишнего элемента в очередь тоже является использованием памяти.
То есть больше чем константу новых элементов добавлять нельзя.

Alexandr
13.09.2016
16:06:21
числа произвольные?)

Никита
13.09.2016
16:06:33