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
1677
Задача А

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


26/08/11
2100
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
13438
с Территории
Это - на здоровье. Сойтись не может.

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


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

 Профиль  
                  
 
 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
1677
Пусть $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 ] 

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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