@ru_python

Страница 1909 из 9768
Aragaer
12.12.2016
00:12:18
ыых, волшебная оптимизация и теперь прога работает за 7 с половиной секунд

убрал структуры, переписал через биты. Меньше 7 секунд

http://pastebin.com/rGCjAzEX

на моем компе отрабатывает за 6.1-6.2 секунды

Google
Slowpoke
12.12.2016
03:53:45
Крч. Я решил свою проблему тем, что оставил комп на ночь. (да, гениально) Потом он включился(с всей подключенной оперой) и снова не видел планку. Я её переставил. Комп не включался. Переставлял. Комп не включался. Выдернул её вообще и вуаля. Комп заработал. Теперь у меня другой вопрос... Что может быть с этой планкой или, мб, проблемы с разъёмом?

Aragaer
12.12.2016
06:03:22
сегодня йолка простая, я 333-й в общем зачоте

надо только внимательно смотреть

Aragaer
12.12.2016
06:13:42
в инпут, который тебе дают

короче там очередной ассемблер, так вот инструкция cpy может копировать из регистра, а jnz может сравнивать с константой

ыыыыы

Yokai
12.12.2016
06:14:28
Есть боты для подключения оповещений о gitlab, github и bitbucket-коммитах для чатов, чтобы неадмины не могли ими пользоваться?

Aragaer
12.12.2016
06:14:52
после сегодняшней йолки страничка с выбором паззла анимируется - там монорельс начинает ездить

pulat
12.12.2016
06:17:07
Кто нибудь скомпилировал используя pypxlib? У меня после компиляции выдает ошибку no named px

Google
Maxim robox
12.12.2016
06:18:20
короче там очередной ассемблер, так вот инструкция cpy может копировать из регистра, а jnz может сравнивать с константой
Я не понял, что делать с jnz, который возвращает назад. Я с ним в бесконечный цикл попадаю.

А не. Кажется, мой косяк.

Aragaer
12.12.2016
06:21:03
я в итоге для простоты сделал cpy и cpy2, jnz и jnz2. Первое для нормальных случаев, cpy2 регистр в регистр, jnz2 - безусловный переход

Roman
12.12.2016
06:21:15
Гайс, скажите плиз. Вот в студии есть плагин на проверку ошибок в при написании слов по-русски. Есть ли похожий для пичарма?

Maxim robox
12.12.2016
06:23:01
Блин. Я тупанул. Там, оказывается, количество шагов довольно большое, а я не дожидался выполнения.

Johnnie
12.12.2016
06:24:07
@robox @aragaer маньяки)))

Maxim robox
12.12.2016
06:24:59
@aragaer у тебя для part2 долго выполнялась программа?

Pavel
12.12.2016
06:25:13
Гайс, скажите плиз. Вот в студии есть плагин на проверку ошибок в при написании слов по-русски. Есть ли похожий для пичарма?
в пайчарме есть движок проверки орфографии, а вот тут якобы словарь для русского езыка. https://yadi.sk/d/HwQnqkZzvuPt7

Aragaer
12.12.2016
06:25:21
у меня на С. Если отключить отладочную печать, то быстро

но с отладочной печатью видно было, что медленно-медленно тикает регистр d и когда дошел до нуля - ок

Maxim robox
12.12.2016
06:25:57
Чёт у меня уже пару минут висит.

Aragaer
12.12.2016
06:26:07
$ time ./santa12 < inp12 9227647 real 0m0.171s user 0m0.168s sys 0m0.000s

это без отладочной печати

```9227647 real 0m40.256s user 0m11.760s sys 0m28.472s

а это с ней

печатаю на каждом шаге все 4 регистра и номер текущей инструкции

Maxim robox
12.12.2016
06:27:50
О. Только сейчас закончилось.

Видать, алгоритм у меня слишком жирный.

Google
Pavel
12.12.2016
06:28:13
```9227647 real 0m40.256s user 0m11.760s sys 0m28.472s
для общего развития: если в файл stdout скидывать, сколько будет считать?

Aragaer
12.12.2016
06:28:31
и видно, что почти все время я в цикле 9-10-11, там происходит декремент регистра b, а когда уменьшится, то декрементит d и снова

$ time ./santa12 < inp12 > out12 real 0m6.616s user 0m6.204s sys 0m0.404s $ ll -h out12 -rw-rw-r-- 1 aragaer aragaer 732M дек 12 09:28 out12

$ wc -l out12 27683137 out12

27 миллионов инструкций 8)

Maxim robox
12.12.2016
06:31:25
А вот со вчерашней задачкой у меня всё ещё проблемы. Уже получается найти решения, но они не минимальные и не подходят как ответ.

Aragaer
12.12.2016
06:31:53
ну я в итоге сделал волновой поиск и это уже достаточно быстро

6-7 секунд и основные тормоза тоже понятно где

можно еще ускорить, но надо либо пару гигов места, либо реализовать очередь

... и тогда один гиг места 8)

Maxim robox
12.12.2016
06:32:48
Aragaer
12.12.2016
06:33:09
я шел от финиша к старту, хотя без разницы

Maxim robox
12.12.2016
06:33:35
Чёт я пока не могу представить, как этот алгоритм туда применить.

Aragaer
12.12.2016
06:33:52
финиш помечаю нулем. Затем от всех позиций, где ноль, перебираю все соседние и ставлю там 1, если ничего еще не стоит

затем для всех, где 1, ставлю 2

и так пока не проставлю для старта

Maxim robox
12.12.2016
06:34:20
Финиш и старт это состояния завода?

Aragaer
12.12.2016
06:34:38
да

http://pastebin.com/w6gR0dcF - вот такой у меня получается вывод

основное время тратится на поиск того, вокруг чего соседей искать.

Google
Aragaer
12.12.2016
06:35:26
потому что это пара сотен тысяч байт на гигабайтном массиве

все состояние завода во второй части описывается 30 битами. В первой 22

по одному байту на каждое состояние завода это получается ровно гиг

в результате оптимизаций - когда у меня уже был правильный ответ - я стал делать так, что 7 бит в байте это назначенный номер волны, 127 это "бесконечность" - еще не вычислено, а старший бит проставляется для недопустимых состояний

хм..

Maxim robox
12.12.2016
06:40:45
все состояние завода во второй части описывается 30 битами. В первой 22
У тебя есть плоский массив состояний завода. Правильно же? У тебя есть старт и финиш. Как ты хранишь/собираешь пути к нему? Какая структура?

Admin
ERROR: S client not available

Mihail
12.12.2016
06:40:57
/pidor@SublimeBot

A
12.12.2016
06:41:25
/pidor@SublimeBot

Aragaer
12.12.2016
06:42:43
не, каждый инт от 0 до 2^30-1 это состояние завода

в массиве такого размера каждый байт помечен - старший бит 0, если такое состояние норм, 1, если некорректно

Mikhail
12.12.2016
06:43:34
Поржал

Aragaer
12.12.2016
06:44:07
остальные биты единицы - "мы еще не знаем, сколько надо шагов, чтобы добраться от этого состояния до финиша", кроме финиша - в нем ноль.

дальше перебираю все состояния, соседние с финишем - их ровно 35 штук. Им выставляю значение 1.

то есть в гигабайтном массиве у 35 байтов значение становится 1

Maxim robox
12.12.2016
07:03:19
у меня полторы минуты считало
У меня тоже где-то так на p1. На p2 минут пять.

Aragaer
12.12.2016
07:16:59
/me решил уже успокоиться и перестать оптимизировать 11-ю

Aragaer
12.12.2016
07:19:32
ща в душ, пожрать, потом на работу

Google
Aragaer
12.12.2016
07:53:16
ведь вроде сказал себе - хватит оптимизировать эту хню. Нет же, пока в душе был еще оптимизацию придумал и еще секунду убрал

Levent
12.12.2016
08:14:37
?

Aragaer
12.12.2016
08:23:21
о, еще полсекунды долой

Subbotin
12.12.2016
08:25:55
твой работодатель в чатике не тусит?

Roman
12.12.2016
08:28:31
о, еще полсекунды долой
вот тебя бы в разработчики игр

Subbotin
12.12.2016
08:31:15
лучше пусть браузеры оптимизирует.

Ssi
12.12.2016
08:34:12
а вот уже в браузерах мы игр и наделаем

Roman
12.12.2016
08:34:25
не надо этот кал

как браузерные игры

Ssi
12.12.2016
08:34:43
не, ну а чо

Roman
12.12.2016
08:34:43
самое убогое что могли придумать

анальный донат для хомячков

брррр

Subbotin
12.12.2016
08:34:58
я уже месяц играю в куки кликер

Страница 1909 из 9768