|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.10.2012, 13:47 | #1 | |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 774
|
Подготовка к региональной олимпиаде
Я уже 2 года участвую в региональных олимпиадах, но всегда без должной подготовки. У нас в районе нормальных учителей информатики, способных обучить программировать на этом уровне нет, а учителя математики уже достали меня со своей подготовкой к ЕГЭ, а там умение составлять математические модели не нужно, а на олимпиаде просто необходимо.
В общем, я решил попросить помощи у вас, дорогие форумчане. Я буду пытаться решать задачи предыдущих олимпиад, и в случае успеха выкладывать их сюда. В таких случаях, пожалуйста, производите конструктивную критику и найдите возможные ошибки. Если же у меня не будет получаться, я буду просить у вас помощи, а именно подскажите верный ход решения. Первая задача: Цитата:
Код:
a.k.a. Angelicos Phosphoros
Мой сайт |
|
05.10.2012, 13:58 | #2 | |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 774
|
вторая задача
Формулировка
Цитата:
Код:
По-моему, задача сводиться к тому, чтобы найти максимальный элемент на некотором куске массива. Сейчас начну третью
a.k.a. Angelicos Phosphoros
Мой сайт Последний раз редактировалось New man; 05.10.2012 в 15:47. |
|
05.10.2012, 14:08 | #3 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Условие лучше оформить тегами цитаты, а не кода - тогда переносы работать будут...
Правильно поставленная задача - три четверти решения.
|
05.10.2012, 14:22 | #4 | |||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
ОФТОП Всегда бессили такие вот задания:
Цитата:
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 05.10.2012 в 14:26. |
|||
05.10.2012, 14:45 | #5 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Вообще не понимаю, чего сложного в данной задаче:
количество секторов, на которое повернётся барабан, вычисляется по формуле: L = Int(V/K), где v - угловая скорость, а K - момент торможения на каждый из секторов. т.е. вычисляем L(a) и L(b) по формуле и смотрим условие L(b)-L(a) >= N - тогда выигрышем будет максимальное значение на колесе, иначе проводим сравнение: L(a) mod N - L(b) mod N > 0, то опять-таки выигрышем будет максимальное значение на колесе, иначе это будет сектор номер L(b) mod N и не нужны никакие циклы (при условии сортировки значений в секторах по возрастанию )
Правильно поставленная задача - три четверти решения.
Последний раз редактировалось DiemonStar; 05.10.2012 в 14:48. |
05.10.2012, 20:08 | #6 | |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 774
|
Цитата:
А Вася может поскромничать: только одну девушку позвать. DiemonStar, я же говорю, подготовки к созданию мат моделей у меня нет. Первую формулу я получил L(b)-L(a)>=N объясните, пожалуйста, как вы получили последующие.
a.k.a. Angelicos Phosphoros
Мой сайт Последний раз редактировалось New man; 05.10.2012 в 20:13. |
|
08.10.2012, 08:37 | #7 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
L = Int(V/K)
у вас есть угловая скорость движения барабана. Он остановится, когда скорость упадёт до нуля. Если бы торможение действовало постоянно, то это произошло бы по аналогичной формуле, но без вычисления целой части, а в дискретном замедлении важно лишь целое количество торможений - остатка угловой скорости не хватит для перехода в новый сектор. Вот таким образом мы вычисляем количество "сеансов торможения" (т.е. переходов между секторами). з.ы. здесь больше физика, чем математика... L(a) mod N - L(b) mod N > 0 Согласитесь, в приведённом условии задачи появляется вариант, когда барабан может сделать полный оборот и более и этот случай тоже нужно учесть. Поэтому формула трактуется так: - если количество секторов (без учёта полных оборотов) при меньшем пути будет больше количества секторов (без учёта полных оборотов) при большем пути - в этом случае будет браться значение максимального сектора на барабане т.е. проверки (во избежание косяков) нужно делать так: 1. IF L(b) - L(a) >=N - разница между путями больше одного оборота 2. ELSE IF L(a) mod N > L(b) mod N - финальная точка большего пути лежит в меньшем секторе 3. ELSE обработка варианта, когда обе точки находятся на одном обороте и сектор большего пути находится дальше
Правильно поставленная задача - три четверти решения.
Последний раз редактировалось DiemonStar; 08.10.2012 в 08:53. |
08.10.2012, 21:32 | #8 | ||
Форумчанин
Регистрация: 24.01.2011
Сообщений: 774
|
Цитата:
Третья задача Цитата:
a.k.a. Angelicos Phosphoros
Мой сайт |
||
08.10.2012, 21:35 | #9 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 774
|
Попытка решения(Внимание!!! Быдлокод - опасно для мозга!!!)
Код:
Каждый абзац - элемент массива strs. Планировал решить задачу так - там где надо перевести строку, добавить символы #13#10, но не получилось
a.k.a. Angelicos Phosphoros
Мой сайт |
08.10.2012, 21:53 | #10 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
Да, кстати, Вы нацелены только на практику? (теорию Вы преодолеваете в легкую?) Или просто логические задачи (1 этап) у Вас отсутствует. Так же есть очень много сайтов с олимпиадной тематикой. Навскидку acmp.ru , или вот informatics.mccme.ru (вот он мне очень нравится там даже баллы начисляются не за полностью правильное решение, а за кол-во пройденных тестов) |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
А почему нет темы об олимпиаде-2012 в Лондоне?.. | mv28jam | Свободное общение | 60 | 13.08.2012 19:48 |
Задачи по олимпиаде | Darick | Помощь студентам | 7 | 23.12.2011 15:45 |
задача на олимпиаде была | klubkov | Помощь студентам | 0 | 24.10.2011 18:06 |
Дали детям две задачки на олимпиаде по информатике O_O | Каля-маля | Помощь студентам | 8 | 10.11.2008 17:29 |
Как подготовиться к олимпиаде? | Kn793 | Помощь студентам | 16 | 26.07.2008 12:22 |