|
6 / 6 / 5
Регистрация: 29.01.2015
Сообщений: 467
|
|
Как научиться олимпиадному программированию15.03.2016, 07:08. Показов 6365. Ответов 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,920
|
|||||||||||||||||||||||
| 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,920
|
|||
| 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,920
|
|||||||||
| 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,920
|
|||||||||||||
| 17.03.2016, 12:37 | |||||||||||||
Во втором случае я сразу вижу, что для каждого элемента массива вызывается функция Max2. Я не знаю, что она там делает, но общая схема работы уже понятна.
0
|
|||||||||||||
| 17.03.2016, 12:38 | |||||
Ими страдают миллионы. Вместо того чтобы решать конкретную задачу максимально эффективно - человек впадает в манечку "общности" и/или "оптимизации".
0
|
|||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 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,920
|
|
| 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,920
|
||||||||||||||||||
| 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,920
|
|||
| 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 | |
|
Как научиться программировать как БОГ? Задача по олимпиадному программированию Шарики(Задача по олимпиадному программированию) Ищу людей для подготовки по олимпиадному программированию
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Новая последнея моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
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.
Опрашиваются регистры. . .
|