Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред

Check this out!

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 107 | 2 | 18
Назад Вниз Каталог Обновить

Аноним 22/11/17 Срд 01:13:12  165489990  
035149232123166[...].png (56Кб, 2480x3508)
Анон, как мы знаем, двач полон программистов 300кк/наносек.
Помогите решить задачу.
Нужно вычислить значение суммы интегралов Френеля (два интеграла, от sin(x^2) и cos(x^2) соответственно) на отрезке от нуля до входного Х.
Точность - до пятого знака включительно. Ограничения по времени - анальные.
Попробовал метод бесконечного количества бесконечно малых прямоугольников - не укладываюсь во время: нужная точность достигается при 200 млн прямоугольников, а за заданное время успеваю обработать только около 16 млн.
Вот код:

double x;
cin >> x;
double cap = 200Math.pow(10,6);
double length = x/cap;
double sum = 0.0;
double i = length/2;
while (i<x) {
double pow = i
i;
sum = sum + length (Math.sin(pow)+Math.cos(pow));
i = i + length;
}
write((Math.ceil(sum
Math.pow(10, 5)) / Math.pow(10, 5))+"");

Знаю, что хуйня, обоссывайте, но помогите.
Аноним 22/11/17 Срд 01:14:01  165490045
Сука макаба сожрала звёздочки умножения
Аноним 22/11/17 Срд 01:14:23  165490067
Ну лан там понятно что где
Аноним 22/11/17 Срд 01:14:46  165490086
Бамп
Аноним 22/11/17 Срд 01:15:05  165490095
Бамп
Аноним 22/11/17 Срд 01:15:22  165490111
Бамп
Аноним 22/11/17 Срд 01:15:44  165490137
Бамп
Аноним 22/11/17 Срд 01:16:17  165490163
Бамп
Аноним 22/11/17 Срд 01:16:42  165490188
Бамп
Аноним 22/11/17 Срд 01:17:12  165490211
Бамп
Аноним 22/11/17 Срд 01:17:31  165490232
Бамп
Аноним 22/11/17 Срд 01:17:47  165490250
Бамп
Аноним 22/11/17 Срд 01:18:29  165490281
Бамп
Аноним 22/11/17 Срд 01:18:50  165490303
Бамп
Аноним 22/11/17 Срд 01:19:09  165490317
Бамп
Аноним 22/11/17 Срд 01:19:25  165490334
Бамп
Аноним 22/11/17 Срд 01:19:45  165490352
Бамп
Аноним 22/11/17 Срд 01:20:04  165490364
У тебя код можно на порядок сократить, скорее всего и уложишься по времени
Аноним 22/11/17 Срд 01:20:09  165490368
Бамп
Аноним 22/11/17 Срд 01:20:26  165490386
>>165489990 (OP)
1) Пиши на си
2) Используй AVX/AVX2

Плюс, можешь заранее загенерить и сохранить таблицу синусов-косинусов, или придумать более эффективный способ их расчёта, чем в стандартной либе.

Но в первую очередь - AVX2.
Аноним 22/11/17 Срд 01:20:31  165490390
Бамп
Аноним 22/11/17 Срд 01:20:53  165490407
>>165490364
Как?
Аноним 22/11/17 Срд 01:21:56  165490467
Иу9?
Аноним 22/11/17 Срд 01:23:13  165490516
>>165490386
Почему? Почему? Как?
Аноним 22/11/17 Срд 01:23:42  165490540
У этой функции разве нет периода?
Округли Х до ближайшего pin
Посчитай 2 интеграла от 0 до pi и от 0 до Х-2pi
n
Аноним 22/11/17 Срд 01:25:01  165490612
>>165490467
Ноуп
Заборостроительная шарага имени Ленина города Усть-Перепиздюйска, второй курс
Аноним 22/11/17 Срд 01:25:44  165490649
>>165490612
Хех, тоже неплохо
Аноним 22/11/17 Срд 01:25:49  165490653
>>165489990 (OP)
Да, все программисты именно этим и занимаются.
Аноним 22/11/17 Срд 01:25:54  165490661
Плюс стоит описать измерение времени. Что измеряется? Системное время, кол-во циклов*частоту? Большинство таких оценок - полное гавно, ибо планировщик успеет сто раз переключить твои задачи, и в эти измерения времени вкрадутся чужие расходы.
В идеале мерять надо на выделенном ядре, где шедулер не ебет таски, kernel скомпилировать с NO_HZ_FULL и добавить на нужное ядро эту опцию + isolcpu. И запускать свой таск с SHED_FIFO и максимальной rt-шной привелегией.
Аноним 22/11/17 Срд 01:28:50  165490787
>>165490540
Нет у неё периода. Попроси гугл построить её график, увидишь.
Аноним 22/11/17 Срд 01:30:29  165490882
>>165490661
К сожалению там электронная система тестов по типу "чёрный ящик": просто кидаешь прогу, а оно тебе говорит, окей или нет.
Аноним 22/11/17 Срд 01:30:43  165490893
>>165490516
Почитай хоть пару строк про avx и simd вообще, дебил малолетний.

В современных процах есть специальные регистры, длинной например 256 бит, куда помещается например 8 32-битных интов или 4 дабла и много других вариантов, вплоть до 32 байт. Для работы с этими регистрами есть специальный набор инструкций, современные называются AVX/AVX2/AVX-512 (это уже на совсем современных, где есть регистры на 512 бит). Эти инструкции позволяют производить одновременные операции над числами в векторном регистре за одну инструкцию.
Для удобства для этих инструкций определены интринсики, в <immintrin.h>, можно писать внутри си/си++ программ.
Аноним 22/11/17 Срд 01:30:48  165490895
>>165489990 (OP)
Пиши сразу входные и выходные значения.
Аноним 22/11/17 Срд 01:32:05  165490954
>>165490893
Делил малолетний - это ты, а писать надо по обычному, а к этой хуйне сводить - уже задача компилятора.
Аноним 22/11/17 Срд 01:35:51  165491117
>>165490895
Вход: х не превышающий 1500
Выход: значение интеграла, для х>1300 примерно 1.25278

Ограничение по времени: 2,5 сек
Аноним 22/11/17 Срд 01:38:42  165491247
>>165490954
Если ты пишешь код не для rt-систем - то пожалуйста, вставляй флаги и жди, что компилятор что-то сделает за тебя.
Но компилятор векторизует только довольно примитивные случаи, и зачастую делает это криво и неполноценно. Программист зачастую умней компилятора и способен написать крайне эффективный код на avx2, который компилятору не повторить из-за сложного алгоритма.
Аноним 22/11/17 Срд 01:39:35  165491288
ОП, СУКА ЛЕНИВАЯ
https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D0%BB%D1%8B_%D0%A4%D1%80%D0%B5%D0%BD%D0%B5%D0%BB%D1%8F
Аноним 22/11/17 Срд 01:40:34  165491334
>>165491117
2.5 секунды - это дохуллион времени.
Аноним 22/11/17 Срд 01:41:56  165491395
>>165491288
Вот кстати страно что ОП про ряды не подумал, второй курс как-никак, математики видимо совсем не было.
Аноним 22/11/17 Срд 01:41:57  165491397
>>165491288
Не пизди. Я эту статью прочитал, принял к сведению, попробовал реализовать методом разложения в ряд, получилось ещё хуже. Иди на хуй.
Оп.
Аноним 22/11/17 Срд 01:42:37  165491425
>>165491395
>>165491397
Аноним 22/11/17 Срд 01:43:34  165491462
>>165491334
Но и сделать нужно 200 млн итераций
Аноним 22/11/17 Срд 01:43:53  165491476
>>165491397
НЕ ПИЗДИ, НЕ МОГЛО ХУЖЕ ПОЛУЧИТЬСЯ
там скорость сходимости слишком большая
Аноним 22/11/17 Срд 01:44:37  165491511
>>165491397
И сколько элементов ряда суммировал?
Аноним 22/11/17 Срд 01:44:58  165491525
>>165491476
Ну вот получилось.
Аноним 22/11/17 Срд 01:45:32  165491549
>>165491397
Что то мне подсказывает, что у тебя там пиздец ошибка накапливаться будет если в лоб.

Впрочем, поздно ты тред создал, я уже спать укатился, так что подрочиться с этой херней власть могу только завтра (то есть уже сегодня) вечером
Аноним 22/11/17 Срд 01:45:35  165491554
tumblrnlwfczPaB[...].jpg (16Кб, 415x292)
>>165489990 (OP)
Пошли вы нахуй! Я уже брался помогать одному гондону говорил даже заплатить, а в итоге слился!
Аноним 22/11/17 Срд 01:45:53  165491572
А, НЕТ. ТАМ ЖЕ ПРИ МАЛЫХ СТЕПЕНЯХ ДЛЯ Х=1000 ПИЗДА
Аноним 22/11/17 Срд 01:50:56  165491775
А, НЕТ. ВСЕ ВЕРНО, ОП - ПИДОР.
ДЛЯ ВСЕХ N>15 ЮЗАЙ АСИПТОТИКИ
ДЛЯ ВСЕХ N МЕНЬШЕ РАЗЛОЖЕНИЕ В РЯД
Аноним 22/11/17 Срд 01:52:56  165491869
>>165491775
КОКОЙ ЖЕ Я ГЕНИЙ
Аноним 22/11/17 Срд 01:53:09  165491879
>>165491288
> и {\displaystyle C(x)} — нечётные функции {\displaystyle x}.Асимптотики интегралов Френеля при {\displaystyle x\to \infty } даются формулами
Оно?
Аноним 22/11/17 Срд 01:53:52  165491903
>>165491879
ДА
Аноним 22/11/17 Срд 01:55:06  165491952
>>165491288
>%D0%98%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D0%BB%D1%8B_%D0%A4%D1%80%D0%B5%D0%BD%D0%B5%D0%BB%D1%8F
бляяяяяяяяяяяяяяяяяяяяяяяя ну ты и петух
Аноним 22/11/17 Срд 01:56:10  165492001
>>165489990 (OP)
А нахуй тебе прямоугольники даун? Юзай метод трапеций хотя бы.
Аноним 22/11/17 Срд 01:56:22  165492009
>>165489990 (OP)
Рунгекутой делай.
Аноним 22/11/17 Срд 01:57:12  165492044
>>165491775
Что тут такое N?

мимо тупой
Аноним 22/11/17 Срд 01:57:57  165492066
>>165492044
ну Х, всм, а не N
Аноним 22/11/17 Срд 01:58:41  165492088
>>165492001
Даун, трапеции сводятся к тем же прямоугольникам
Аноним 22/11/17 Срд 02:00:05  165492155
>>165492088
Только точность побольше. А соответсвенно делить можно будет на меньшее количество отрезков.
Аноним 22/11/17 Срд 02:01:02  165492193
>>165492088
У рунге-куты или трапециями точность значительно выше, чем у прямоугольников при том же шаге. Там где прямоугольниками надо 200млн шагов, рунке-кута или трапеции за сотню тысяч или даже десятков сделают.
Аноним 22/11/17 Срд 02:02:26  165492247
>>165489990 (OP)
Кстати да, если у опа X окажется дохуя большим, то даже 20 млн прямоугольников ему не хватит.
Аноним 22/11/17 Срд 02:05:05  165492358
Аноны, а вы можете дать оценку сложности алгоритмов с прямоугольниками, трапециями, параболами, рунгекуты, разложения в ряд и асимптоматики в зависимости от x и в зависимости от требуемой точности?
Аноним 22/11/17 Срд 02:06:14  165492400
>>165492358
Хуле тут давать. Линейная
Аноним 22/11/17 Срд 02:07:57  165492471
>>165492358
В смысле сложность? Долбишь по клавишам, хуяришь код.
Аноним 22/11/17 Срд 02:08:20  165492489
>>165492400
Бля, перефразирую вопрос . Относительную сложность.
Т.е.насколько трапеции быстрее прямоугольников и так далее?
Аноним 22/11/17 Срд 02:08:48  165492514
>>165492471
О, пхпшники подъехали.
Аноним 22/11/17 Срд 02:13:53  165492710
Бамп
Аноним 22/11/17 Срд 02:15:49  165492789
Бамп
Аноним 22/11/17 Срд 02:16:09  165492804
Бамп
Аноним 22/11/17 Срд 02:17:02  165492831
Бамп
Аноним 22/11/17 Срд 02:18:08  165492876
Бамп
Аноним 22/11/17 Срд 02:18:44  165492895
Бамп
Аноним 22/11/17 Срд 02:19:02  165492910
Бамп
Аноним 22/11/17 Срд 02:19:22  165492920
Бамп
Аноним 22/11/17 Срд 02:24:56  165493157
>>165492489
Бамп вопросу
Аноним 22/11/17 Срд 02:28:46  165493319
О, такой тред. Анон, научи меня оценивать погрешность плз
Аноним 22/11/17 Срд 02:30:20  165493383
Бамп
Аноним 22/11/17 Срд 02:30:43  165493401
Бамп
Аноним 22/11/17 Срд 02:31:16  165493425
Бамп
Аноним 22/11/17 Срд 02:32:12  165493452
Бамп
Аноним 22/11/17 Срд 02:33:30  165493503
Бамп
Аноним 22/11/17 Срд 02:33:43  165493511
>>165490653
Да, все. Кто не занимается обычные веб-макаки или ещё хуже, коме цэпэпэ нихуя не знают.
Аноним 22/11/17 Срд 02:33:55  165493519
Бамп
Аноним 22/11/17 Срд 02:35:34  165493589
Бамп
Аноним 22/11/17 Срд 02:35:58  165493606
Бамп
Аноним 22/11/17 Срд 02:37:47  165493679
>>165489990 (OP)
> за заданное время успеваю обработать только около 16 млн.
Неси этот код. На все претензии отвечай, что у тебя всё работает просто они лохи и дураки пидары и гамасеки а ещё суки ебаные, на доисторическом дерьме запускают код.
Аноним 22/11/17 Срд 02:38:02  165493688
>>165490893
Ебаться-сраться! Так вот кто хуярит тормозной и засранный быдлокод!
Аноним 22/11/17 Срд 02:41:29  165493806
>>165493688
Анон, если ты шаришь, поясни за ту хуйню которую тот анон, на которого ты отвечаешь, несёт. Я нихуя не понял. Это торт или хуита? И почему?
Только объяснение хорошо бы уровня для дебилов
Аноним 22/11/17 Срд 02:46:14  165493957
>>165489990 (OP)
Numerical recipes in C книжка. Там описаны методы поумнее
Аноним 22/11/17 Срд 02:48:11  165494020
>>165493957
Спасибо, анон. Огромное!
Аноним 22/11/17 Срд 02:51:35  165494113
>>165494020
Семестр по ней лабы делал, кека
Аноним 22/11/17 Срд 02:54:01  165494178
>>165493806
Тот ебалай предлагает тебе заебенить код с командами ассемблера. На первый взгляд это кажется круто, но явно не в твоём случае т.к. это будет охуительный костыль. Принесёшь ты этот код на другую машину и начнётся веселуха. Хуякс, а проц на целевой машине эти команды не поддерживает и вообще там стоит MIPS. Там один гражданин ответил уже, что всё это делается средствами компилятора.
Аноним 22/11/17 Срд 03:01:56  165494385
>>165494178
То есть компилятор сам за меня сделает подробную оптимизацию?
Аноним 22/11/17 Срд 03:08:20  165494578
>>165494385
Да. В ассемблер CISC-процессоров не стоит лезть ручками. В современных реалиях это не нужно.
Аноним 22/11/17 Срд 03:10:11  165494644
Так, аноны. А почему вы уверены, что асимптотическая формула даст мне необходимую точность?
Аноним 22/11/17 Срд 03:26:02  165495040
Бамп
Аноним 22/11/17 Срд 04:23:36  165496426
Бамп
Аноним 22/11/17 Срд 04:23:59  165496436
Бамп
Аноним 22/11/17 Срд 04:24:20  165496447
Бамп
Аноним 22/11/17 Срд 04:32:39  165496671
Параллелизовать ещё не советовали?
Аноним 22/11/17 Срд 05:06:58  165497373
>>165496671
Нет.
Аноним 22/11/17 Срд 05:47:09  165498181
Бамп
Аноним 22/11/17 Срд 05:47:30  165498188
Бамп
Аноним 22/11/17 Срд 05:47:48  165498195
Бамп
Аноним 22/11/17 Срд 05:48:11  165498204
Бамп
Аноним 22/11/17 Срд 05:48:40  165498214
Бамп
Аноним 22/11/17 Срд 05:49:49  165498242
Бамп
Аноним 22/11/17 Срд 05:50:59  165498263
Бамп

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 107 | 2 | 18
Назад Вверх Каталог Обновить

Топ тредов
Избранное