|
20 / 20 / 12
Регистрация: 16.01.2010
Сообщений: 66
|
||||||
нужна оптимизация приложения06.04.2012, 14:26. Показов 3162. Ответов 39
Метки нет (Все метки)
Одной ночью коту Мурзику приснилось, что он судья на математических соревнованиях крыс. Соревнования проводятся среди N команд по K крыс в каждой. Соревнования проводятся в К раундов, в каждом из которых представитель команды называет число. Побеждает та команда, у которой произведение всех чисел наибольшее. Почему крысы не называют каждый раз максимально возможное число? На то они и крысы, что в отличии от Мурзика, обделены интеллектом. Но и Мурзик понимает, что сам подсчитать результат не сможет из-за недостачи математических способностей и поэтому просит вашей помощи.
Технические условия Входные данные Первая строка содержит два целых числа N и K (0 < N ≤ 20, 0 < K ≤ 100000). Следующие К строк содержат по N чисел, которые называют представители команд. Причем крысы, как представители образованного вида, знают только 32-битовые знаковые числа. Выходные данные Номер команды, выигравшей соревнования. Если несколько команд имеют одинаковые результаты, то побеждает та, у которой больше номер. Лимит времени: 2 секунды Лимит памяти: 64 MB вот решение:
на четырех тестах не хватает времени (2 сек). как решить эту проблему?
0
|
||||||
| 06.04.2012, 14:26 | |
|
Ответы с готовыми решениями:
39
Типы оптимизация: черная оптимизация, серая оптимизация и белая оптимизация Нужна оптимизация Оптимизация приложения |
|
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
|
|
| 06.04.2012, 14:31 | |
|
через файл надо?
0
|
|
|
20 / 20 / 12
Регистрация: 16.01.2010
Сообщений: 66
|
|
| 06.04.2012, 14:39 [ТС] | |
|
0
|
|
|
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
|
|||||||
| 06.04.2012, 14:45 | |||||||
![]()
1
|
|||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||||
| 06.04.2012, 15:20 | ||||
|
Добавлено через 58 секунд Добавлено через 2 минуты
0
|
||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 06.04.2012, 15:20 | |
|
0
|
|
|
|
|
| 06.04.2012, 15:47 | |
|
попробуй замени умножение на сложение степеней двойки
попробуй округлять вводимые числа, например d00125=b01111101~=10000000=1<<7 d00070=b01000110~=01000000=1<<6 их произведение равно 1<<13 в среднем это не изменит победителя. максимальное произведение получит погрешность, но останется максимальным правда тут про знаки надо помнить. знаки всё очень сильно портят. Ну как? Разве не финт ушами?
0
|
|
|
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
|
|
| 06.04.2012, 16:00 | |
|
0
|
|
|
20 / 20 / 12
Регистрация: 16.01.2010
Сообщений: 66
|
|
| 06.04.2012, 16:32 [ТС] | |
|
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|||
| 06.04.2012, 17:19 | |||
|
Добавлено через 51 секунду
0
|
|||
|
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
|
|
| 06.04.2012, 17:20 | |
|
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||
| 06.04.2012, 17:30 | ||
|
0
|
||
|
347 / 292 / 37
Регистрация: 23.03.2012
Сообщений: 838
|
||
| 06.04.2012, 17:32 | ||
Не по теме: Не будь таким агрессивным
0
|
||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|||
| 06.04.2012, 17:56 | |||
|
Не по теме:
Сейчас ты считываешь ОДНО значение. А нужно считывать сразу всю строку в массив и потом уже из этого массива брать значения. Только считывать не в цикле, а при помощи read. 100000 значений это всего лишь 400 килобайт, так что в лимит памяти легко войдёт.
0
|
|||
|
20 / 20 / 12
Регистрация: 16.01.2010
Сообщений: 66
|
||
| 06.04.2012, 17:56 [ТС] | ||
|
если поставить int a[20]; for (int i = 0; i<N; i++) a[i] = 1; // забыли)) проходит 95% тестов
0
|
||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 06.04.2012, 17:57 | |
|
Стоп! Файл же текстовый, а не бинарный... Read не поможет...
0
|
|
|
20 / 20 / 12
Регистрация: 16.01.2010
Сообщений: 66
|
|
| 06.04.2012, 18:10 [ТС] | |
|
со скоростью уже все норм.
осталось решить как оперировать с большимы числами.
0
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 06.04.2012, 18:12 | |
|
0
|
|
| 06.04.2012, 18:12 | |
|
Помогаю со студенческими работами здесь
20
Оптимизация приложения Оптимизация приложения Оптимизация приложения Оптимизация приложения Оптимизация приложения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|