2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Числа на окружности
Сообщение28.12.2014, 21:34 
Заслуженный участник


02/08/10
629
На окружности расставлено $N$ целых чисел $a_1, a_2, ..., a_n$. На каждом шаге разрешается выбрать одно отрицательное число, заменить его на его положительное значение, а от соседних двух отнять это значение. Необходимо определить, за какое наименьшее число шагов можно сделать так, чтоб все числа были неотрицательными (если это возможно, конечно).

Задача c олимпиады по программированию (SEERC 2014), и большинство команд чисто интуитивно угадали правильное решение: на каждом шаге брать самое маленькое число. Но как доказать его корректность?

 Профиль  
                  
 
 Re: Числа на окружности
Сообщение29.12.2014, 05:01 
Аватара пользователя


21/09/12

1871
MrDindows в сообщении #953679 писал(а):
если это возможно, конечно

Что за постановка задачи? Где критерий "возможно/невозможно"?
Общая сумма в процессе не меняется. Т.е. если она изначально меньше нуля, то цель не достижима.
При сумме равной нулю процесс может сойтись к цели, а может и зациклиться.
При положительной сумме проще выбирать ближайшее к нолю отрицательное число или меньшее по модулю, чем соседние положительные.

 Профиль  
                  
 
 Re: Числа на окружности
Сообщение29.12.2014, 08:36 


13/08/14
350
Приведите, пожалуйста, оригинальный текст задачи, или дайте ссылку.

 Профиль  
                  
 
 Re: Числа на окружности
Сообщение29.12.2014, 10:36 
Заслуженный участник


12/08/10
1629
Задача А

 Профиль  
                  
 
 Re: Числа на окружности
Сообщение29.12.2014, 11:51 


26/08/11
2066
atlakatl в сообщении #953857 писал(а):
При сумме равной нулю процесс может сойтись к цели, а может и зациклиться.

Не получится - последний ход невозможен.
MrDindows в сообщении #953679 писал(а):
и большинство команд чисто интуитивно угадали правильное решение: на каждом шаге брать самое маленькое число. Но как доказать его корректность?

В примере из файла 1,-2,-1,3 все равно какое число выбирается - всегда получается ровно за 9 шагов. Придумал пример с тремя числами - тоже самое. Интересно.

 Профиль  
                  
 
 Re: Числа на окружности
Сообщение29.12.2014, 12:16 
Аватара пользователя


21/09/12

1871
Shadow в сообщении #953926 писал(а):
Не получится - последний ход невозможен.

5, -4, -1
1, 4, -5
-4, -1, 5
4, -5, 1
-1, 5, -4

Пришли к начальной позиции. Это и есть зацикливание.

 Профиль  
                  
 
 Re: Числа на окружности
Сообщение29.12.2014, 12:20 
Заслуженный участник
Аватара пользователя


18/05/06
13437
с Территории
Это - на здоровье. Сойтись не может.

 Профиль  
                  
 
 Re: Числа на окружности
Сообщение29.12.2014, 12:48 
Заслуженный участник


12/08/10
1629
Там в условии задачи сумма строго положительная, и поэтому процесс конечен и не зависит от порядка операций.(Вроде получилось доказать). Надо посмотреть на бесконечную в обе стороны последовательность частичных сумм.

 Профиль  
                  
 
 Re: Числа на окружности
Сообщение29.12.2014, 13:04 


13/08/14
350
Shadow в сообщении #953926 писал(а):
В примере из файла 1,-2,-1,3 все равно какое число выбирается - всегда получается ровно за 9 шагов. Придумал пример с тремя числами - тоже самое. Интересно.

У меня тоже есть подозрение, что число шагов не зависит от порядка ходов.

 Профиль  
                  
 
 Re: Числа на окружности
Сообщение30.12.2014, 01:47 
Заслуженный участник


02/08/10
629
Хм, интересно получается.

Null в сообщении #953955 писал(а):
Там в условии задачи сумма строго положительная, и поэтому процесс конечен и не зависит от порядка операций.(Вроде получилось доказать). Надо посмотреть на бесконечную в обе стороны последовательность частичных сумм.

Не могли бы вы, пожалуйста, чуть подробней рассказать подход к доказательству?

 Профиль  
                  
 
 Re: Числа на окружности
Сообщение30.12.2014, 07:56 
Заслуженный участник


12/08/10
1629
Пусть $s=a_1+\dots+a_N>0$
Пусть последовательность $a_k$ - бесконечная в обе стороны по правилу $a_{k+N}=a_k$.
Пусть $S_k$ -последовательность частичных сумм, $S_k=a_k+S_{k-1}$, тоже бесконечная в обе стороны.(Значение $S_0$ выбирается произвольно).
1. $L_r=(S_{r+Nt})$ - N арифметических прогрессий в разностью $s$.
2.Операция ограбления соседей банка $i$ равносильна перестановке последовательности $L_i$ на 1 влево.($S_0$ может поменяться, но нас интересуют разности.). $a_i<0$ равносильно $S_{i+Nt}<S_{i-1+Nt}$ - не зависит от $t$.
3.Ключевое наблюдение. Для каждой пары последовательностей $L_i$ и $L_j$ количество обменов фиксировано и не зависит от других последовательностей.(В итоге должна получиться $S_i$ - не убывающая последовательность) Соответственно искомое количество равно сумме по всем парам последовательностей количеств нужных обменов.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group