|
6 / 6 / 5
Регистрация: 29.01.2015
Сообщений: 467
|
|
Как научиться олимпиадному программированию15.03.2016, 07:08. Показов 6343. Ответов 63
Метки нет (Все метки)
Что делать, если я уже более 5 лет пишу код в веб, c++, но, я не умею решать задачи из олимпиад? Какие сайты изучить?
0
|
|
| 15.03.2016, 07:08 | |
|
Ответы с готовыми решениями:
63
Можно ли научиться программированию??? Хочу научиться программированию. Какой язык выбрать?
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||||
| 16.03.2016, 13:28 | |||||||||
|
Добавлено через 36 секунд Добавлено через 1 час 0 минут
0
|
|||||||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,915
|
|||||||||||||||||||||||
| 16.03.2016, 22:21 | |||||||||||||||||||||||
p.s. Функцию f(x,y) = max(x,y) я выбрал просто для примера. С тем же успехом я мог использовать и другую, например, f(x,y) = 2x + y.
0
|
|||||||||||||||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||||||||||||||||||||||||||||
| 17.03.2016, 06:11 | ||||||||||||||||||||||||||||||||||
при этом кстати можно немного по другому делать:
Добавлено через 9 минут Добавлено через 16 минут Добавлено через 10 минут
Добавлено через 10 минут Добавлено через 3 часа 52 минуты [/CPP]
0
|
||||||||||||||||||||||||||||||||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,915
|
|||
| 17.03.2016, 09:43 | |||
|
for(TMax<Int> Max;Max.Count<Array.Length;Max<<Array[Max.Count]); длиннее, чем моё foldr1 max2 array Но главное, чтобы понять, что делает Ваш код, нужно знать, что делает класс Max. В частности, нужно знать, что оператор << увеличивает Max.Count. Что делает мой код, понятно с первого взгляда даже без знания того, что делает функция max2: сворачивает (справа) объект array по функции max2. Кликните здесь для просмотра всего текста
Это как в математике. Вместо того, чтобы писать "a1 + a2 + ... + an", вводят абстракцию "сумма" и специальный знак для её обозначения. Запись сразу становится короче и удобней.
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 17.03.2016, 10:13 | ||||
|
Добавлено через 17 минут При этом у меня нет жесткой привязки к траектории обхода последовательности, которая простым списком с последовательным доступом далеко не исчерпывается, при этом запросто делать счет сразу по нескольким потоком и нескольких искомых значений. Ваши методы хороши для ОЗУ на магнитной ленте а не для современных задач. Да и даже на ленте задачи разные бывают. Подсчитайте к примеру отдельно максимумы в четных и нечетых позициях по отдельности за один проход вместе с их номерами.
0
|
||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,915
|
|||||||||
| 17.03.2016, 10:41 | |||||||||
|
(И когда я писал, вообще я имел ввиду произвольную функцию двух аргументов... то есть, что для результата можно задать ещё и "номер", это случайность...) fold1r max2 tree Источник - любой, для которого определена свёртка. Косвенных вызовов тоже нет. В C# вызывается статический метод Aggregate некого статического класса, который (класс) нужен только потому, что в C# не существует функций (методов вне класса). И я даже названия этого класса не помню, так как мне не нужно его знать. Теоретически, компилятор может этот вызов заинлайнить. Добавлено через 10 минут Если хотите, можем выбрать какую-нибудь типичную олимпиадную задачу и сравнить на ней.
0
|
|||||||||
| 17.03.2016, 10:46 | ||||||||||||
0
|
||||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 17.03.2016, 10:48 | |||
|
Зато создать в одну команду и за один проход посчитать 3*N экземпляров счетчика по разным частям массива - вот тут вам и придется вашу свертку как минимум N раз по всему массиву гонять и делать N реализаций функции max (ну или как минимум N замыканий если есть возможность номер элемента получать в каллбек-функцию.). Это вобщем то и есть элементарная арифметика, которая говорит что вариантов обхода последрвательности бесконечное множество, не говоря о том что самих типов структур данных тоже по большому счету бесконечное множество. Соответсвенно на все случаи жизни свертками не запасешься. А вот количество основных операций над ними достаточно ограниченно.
0
|
|||
| 17.03.2016, 11:17 | ||
![]() Возвращаясь к ООП. Вообще-то суб-меш - явная "сущность", а значит и класс. И подсчет bounding box - явно метод (константный).
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||||
| 17.03.2016, 12:22 | |||||||||
|
Условия самой олимпиады - оценивается быстродействие и потребляемая алгоритмом память. Это с областной олимпиады 1993-го года. Еще одна олимпиадная задачка: Дано - любое устройство перемещаемое по земле собственным двигателем на ваш выбор. Необходимо: устройство самостоятельно без использования JPS (разрешается пользоваться любым навигационным оборудованием не принимающем сигналов с других искуственных объектов) должно проехать по навигационным точкам отмеченным на карте в пустыне Невада 120км из пункта А в пункт Б. Ограничение: на прохождение маршрута отводится продолжительность световго дня летом (примерно 14 часов). Во время движения по маршруту устройство должно обеспечивать избегание столкновений с людьми, животными (даже в случае нападений с их стороны) и другими транспортными средствами. Олимпиада началась в районе 2000-го и продолжается по сегодняшний день. Главный приз более миллиона долларов (пока еще не разыгран). Тоже между прочим олимпиадное программирование. Добавлено через 10 минут Добавлено через 14 минут Добавлено через 21 минуту
0
|
|||||||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,915
|
|||||||||||||
| 17.03.2016, 12:37 | |||||||||||||
Во втором случае я сразу вижу, что для каждого элемента массива вызывается функция Max2. Я не знаю, что она там делает, но общая схема работы уже понятна.
0
|
|||||||||||||
| 17.03.2016, 12:38 | |||||
Ими страдают миллионы. Вместо того чтобы решать конкретную задачу максимально эффективно - человек впадает в манечку "общности" и/или "оптимизации".
0
|
|||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,915
|
||
| 17.03.2016, 12:44 | ||
|
Предлагаю не формулировать задачу самостоятельно, а привести ссылку (на задачу на авторитетном сайте). Например, на http://acm.timus.ru/, http://www.diofant.ru/ или какой-нибудь другой подобный.
0
|
||
| 17.03.2016, 13:51 | ||
|
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,915
|
|
| 17.03.2016, 15:12 | |
|
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||||||||||||
| 17.03.2016, 21:56 | |||||||||||||||||
|
Добавлено через 40 секунд Добавлено через 3 минуты Добавлено через 12 минут
0
|
|||||||||||||||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,915
|
||||||||||||||||||
| 18.03.2016, 09:32 | ||||||||||||||||||
|
Добавлено через 29 секунд До сих пор в этой теме код, написанный с использованием свёртки наглядней и значительно короче. Добавлено через 9 минут
0
|
||||||||||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 18.03.2016, 09:58 | ||
|
Добавлено через 2 минуты Ну а если так уж хочется попараллелить - то разделить массив на количество доступных ядер, каждому потоку дать свой кусок, со своим экзеземпляром TMax, а результаты из TMax потом объеденить.
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,915
|
|||
| 18.03.2016, 10:20 | |||
|
Добавлено через 3 минуты Что такое мировой океан? Может ли их быть ноль или несколько? Какой ответ должна выдать программа при входе: 010 010 010
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 18.03.2016, 12:27 | ||||
|
Добавлено через 3 минуты По условию - все клетки границы массива (рамка по периметру) - вода. Мировой океан-вся вода которая соединенна с рамкой (имеет 4-х связный проход); Добавлено через 1 час 1 минуту
1
|
||||
| 18.03.2016, 12:27 | |
|
Как научиться программировать как БОГ? Задача по олимпиадному программированию Шарики(Задача по олимпиадному программированию) Ищу людей для подготовки по олимпиадному программированию
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|