TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #1084 · 9.04

В общем, была задача на оптимизацию плана работ: есть набор заказов, и в каждом N тасков. Таски могут зависеть друг от друга или нет, имеют длительность и тип. Ещё есть M работников, каждый из которых может выполнять таски только определённых типов, причём, у каждого своя скорость. Если все таски в заказе выполнены, фирма получает сколько-то денег. У заказа есть дедлайн, за просрочку штраф (за каждый день просрочки), который вычитается из цены заказа. И ещё фирма тратит деньги за каждый день своей работы независимо от того, как загружены её сотрудники (то есть просто платит зарплаты по сути). Ещё важен учёт праздников и выходных. Нужно заработать на определённом наборе заказов и работников как можно больше денег. Полный текст задачи и код программы проверки есть в репозитории. Эта задача является изменённым заказом, который мы с напарником решали в реальной жизни: оптимизация работы печатных станков для типографии. Правда, тогда и мы справились так себе, и заказчик в итоге сначала захотел всё вручную сам делать, а потом и вовсе похоронил проект при смене директора. !!! Не читайте дальше, если хотите сначала попробовать решить самостоятельно, потому что я сейчас опишу эффективные подходы и результаты. ________________________________________ Так вот. Мы с другим экспертом Андреем сразу сели и написали разные варианты, чтобы задать шкалу, по которой будем оценивать решения команд. За пару часов я собрал примитивный жадный алгоритм, который сортировал заказы по прибыльности и укладывал в сетку кое-как, это дало нам нижнюю оценку. Мой алгоритм заработал ~75 млн виртуальных рублей, мы решили для оценки поставить нижней границей 40 млн. То есть всё, что ещё ниже, оценивалось в ноль баллов за качество оптимизации. Затем Андрей закрылся дома на три дня и вышел на свет со сложным жадным алгоритмом, который очень хитро сортировал заказы и очень хитро укладывал их в сетку, попутно выбирая разные способы этой укладки в зависимости от конкретного заказа. Это позволило заработать ~275 млн рублей. Мы сделали верхней границей для оценки 280 млн. К сожалению, в итоге только две команды из десяти прошли нижнюю границу, заработав, соответственно, ~91 и ~105 млн. К верхней границе не приблизился никто. И у четырёх команд алгоритм вообще не смог уложить без нарушений задачи в сетку (то есть, например, произвольно менял длительности, накладывал задачи друг на друга, давал одному работнику две задачи в один момент и так далее). Важной ошибкой команд, на мой взгляд, являлся тот факт, что никто не воспользовался возможностью запустить алгоритм на несколько минут и дать ему поработать. По условиям задания, можно было тянуть до 5 минут на одну оптимизацию, но по факту решения команд отрабатывали за единицы и десятки секунд. На самом конкурсе, пока команды работали, я решил попробовать сделать быстрое (по времени написания) но эффективное решение. Сначала попробовал жадную сортировку + доведение до лучшего варианта методом имитации отжига. В качестве нового состояния я просто менял местами заказы целиком. Этот вариант работал пару минут и дал мне около ~200 млн дохода. К слову, команда-лидер использовала такой же подход, просто не докрутила число итераций и температуру. Ну и потом я взял готовую либу по реализации классической генетики с особями и скрещиванием. Особью был массив с приоритетами заказов (которые конечно же нужно было аккуратно уложить чистым алгоритмом). Тип скрещивания: scattered. Всего 15 поколений по 20 особей, и это за минуту-полторы давало ~230-240 млн. Считаю, что для конкурса это самый лучший выбор: пишется одним человеком за день и даёт почти максимум, при этом легко настраивается на нужную длительность работы, легко параллелится. Ну а потом уже дома я посидел и накодил свой вариант сложного жадного с плавающим окном перебора отсортированных заказов и плавающей же укладкой по работникам. Такая штука за две минуты зарабатывает ~281 млн. Но за три дня в условиях стресса я бы такое не сделал, скорее всего. #dev

Hashtags

Резултати

Намерени 14 подобни публикации

Търсене: #prefixes

当前筛选 #prefixes清除筛选
Learn RCRussian🤍💙❤️

@learnrcrussian · Post #4013 · 13.01.2025 г., 09:00

👋Всем привет! • Рассвирепеть (perf.) [ra-svi-ri-pet'] To become very angry, furious, enraged 🔻It is often used to describe the behaviour of animals, but it can also be used to describe people. 🔻The verb comes from the Russian adjective свирепый [svi-re-pyj] furious, enraged. 🔻The prefix РАС- means 'to become' or 'to start to'. Synonym: • Озвереть [az-vi-ret'] To become bestial • Котейка рассвирепел и напал на человека. [ka-tey-ka ra-svi-ri-pel i na-pal na chi-la-ve-ka] The kitten became enraged and attacked the human. 🎧🗣👇 #useful_vocabulary #prefixes 😎RCRussian | Support | Boost

Learn RCRussian🤍💙❤️

@learnrcrussian · Post #4832 · 14.06.2025 г., 12:24

👋Приветствую, товарищи! • Зализывать раны (после + Genintive) (imperf.) [za-li-zy-vat' ra-ny (pos-le)] = • Зализать раны (perf.) [za-li-zat' ra-ny] SLT: To lick one's wounds (after..) 🔻Despite its literal translation, this Russian idiom doesn't refer to physical injuries. Instead, it describes the process of recovering from a defeat, setback, offense, or other negative event. It's about emotional and mental healing, taking time to recover strength and composure after a difficult experience. 🔻The prefix за- in the verb зализывать implies the completion of an action, bringing it to an end or a result. In this case, it signifies complete recovery. Example (resemblance to actual political events is purely coincidental!!): • После схватки кот и собака зализывали раны, понимая, что хрупкий мир может рухнуть в любой момент. After their scuffle, the cat and dog licked their wounds, aware that their fragile peace could collapse at any moment. 🎧🗣👇 ▶️Как кошка с собакой #phraseology #prefixes 😎RCR | Support | Boost

Learn RCRussian🤍💙❤️

@learnrcrussian · Post #6413 · 16.04.2026 г., 18:34

Догрызу завтра. I'll finish gnawing it tomorrow. • Грызть (imperf.) [gryst'] To gnaw • Сгрызть (perf.) [zgryzt'] To gnaw off / to gnaw completely • ДОгрызть (perf.) [da-gryst') To finish gnawing • ПЕРЕгрызть (perf.) [pi-ri-gryst'] To gnaw through 💢But colloquial: • Грызться = ругаться (imperf.) [ry-st'sya = ru-ga-t'sya] To squabble, to bicker (not about gnawing!) 🖼It still works without VPN!!! #verbs #prefixes #useful_vocabulary 🟠RCR | Support | Boost

Learn RCRussian🤍💙❤️

@learnRCRussian · Post #6040 · 15.01.2026 г., 17:55

Всё! Хватит! Я нагулялся! Alright, that's enough! I've walked enough • НАгуля‌тьСЯ (perf.) [na-goo-lya-tsa] To walk/be out enough so that the desire or need for it is completely fulfilled 🔻In the reflexive verb нагуля‌ться, the prefix НА- carries a core idea of doing an action to the point of full satisfaction, completion, or even excess. It implies reaching a personal limit or a sense of enough. #useful_vocabulary #prefixes #verbs 🟠RCR | Support | Boost

Learn RCRussian🤍💙❤️

@learnrcrussian · Post #4556 · 22.04.2025 г., 09:00

👋Приветствую! • ПЕРЕзарядить батарейки (perf.) [pi-ri-za-ri-dit' ba-ta-rey-ki] Meanings: 🔢Literally: to recharge a device's battery 🔢Figuratively: to rest and rejuvenate oneself, to regain energy and motivation after a period of exhaustion or stress 🔻Prefix ПЕРЕ- means REdo something/ do something again: • ПЕРЕписать = to REwrite • ПЕРЕчитать = to REread • Устали? Время перезарядить батарейки! Got tired? It's time to recharge batteries! ▶️Other meanings of prefix ПЕРЕ- 🎧🗣👇 #useful_vocabulary #prefixes #grammar_tips 😎RCRussian | Support | Boost

Learn RCRussian🤍💙❤️

@learnRCRussian · Post #5970 · 03.01.2026 г., 11:00

• Зажраться (perf.) [za-zhra-tsa] 🔸Conjugation 🔻This slang verb means to pig out,to become insufferably spoiled, arrogant, or fussy due to excessive food, comfort, wealth, or success. 🔻The prefix ЗА- in this verb indicates the beginning and completion of a process leading to a negative, excessive state. • Жрать (vulgar: to eat/devour) metaphorically suggests greedily consuming comforts. • ЗАжраться = to have gone too far in that consumption and to have become stuck in the resulting bad state (arrogance, spoiled behaviour). 🔻Think of the prefix ЗА- as marking the point of crossing over into a negative condition (and staying there): • Зазнаться (perf.) [za-zna-tsa] To become conceited • Зазвездиться (slang, perf.) [za-zviz-di-tsa] To get a big head from fame Наш кот совсем зажрался! Our cat is living the high life! = Our cat has it too good! = Our cat has become totally spoiled! #prefixes #spoken_Russian #verbs 🟠RCR | Support | Boost

Learn RCRussian🤍💙❤️

@learnRCRussian · Post #6039 · 15.01.2026 г., 17:31

I do hope you've been missing cats here😉! • Гуля‌ть (imperf.) [goo-lyat'] To walk, to stroll, or to be out and about 😉 But what if we add preffix НА- to the verb? • НAгуля‌ть + Noun (usually weight, appetite) To gain something as a result of walking: • Нагуля‌ть аппети‌т (perf.) [na-goo-lyat' a-pe-tit] To work up an appetite #useful_vocabulary #just_cats #prefixes #verbs 🟠RCR | Support | Boost

Learn RCRussian🤍💙❤️

@learnRCRussian · Post #6318 · 23.03.2026 г., 09:49

Он всё ПЕРЕсчитал, один кусочек оказался лишним.😅 He counted everything, and there was one piece extra. ❓️What are useful prefixes with считать (to count)? 1. Считать (imperf.) [shchi-tat'] To count, to consider, to believe 2. ПОсчитать (perf.) [pa-shchi-tat'] To count, to calculate, to do the math 🔻Prefix ПО- indicates completion of an action. 3. ПОДсчитать (perf.) [pat-shchi-tat'] Тo sum up, to calculate (focusing on the final result or subtotal) 🔻Рrefix ПОД- means adding up or tallying - as if gathering everything under a total. 4. ПЕРЕсчитать (perf.) [pe-ri-shchi-tat'] Тo recount, to count again 🔻Prefix ПЕРЕ- means re- (again). #prefixes #verbs #grammar_tips 🟠RCR | Support | Boost

Learn RCRussian🤍💙❤️

@learnrcrussian · Post #4948 · 01.07.2025 г., 08:00

👋Приветствую, товарищи! It's gloomy, cold and rainy in my city today ... Hope your summer is way better than mine😔. • (Не) Выспаться (perf.) [ni vys-pa-tsa] (Not) to get enough sleep 🔻The verb выспаться comes from the verb спать (to sleep). 🔻The prefix ВЫ- here signifies completeness, the conclusion of an action, and a sufficient degree/extent. 🔻The perfective aspect verb выспаться doesn't have the Present Tense forms, so, you can use its imperfective equivalent: • Высыпаться (imperf.) [vy-sy-pa-tsa] ❗️Don't confuse высыпаться (to have enough sleep, imperf.) and высыпаться (to pour out, spill out, be scattered, perf.). The Past tense: • Я не выспался (masc.,singular) [ya ni vys-pal-sya] = • Я не выспалась (femin.,singular) [ya ni vys-pa-las'] = • Мы не выспались (plural) [my ni vys-pa-lis'] I / we haven't had enough sleep ❓️А вы выспались сегодня? ❤️ if you find this post useful! #useful_vocabulary #grammar_tips #prefixes #tricky_words 😎RCR | Support | Boost

Learn RCRussian🤍💙❤️

@learnRCRussian · Post #5660 · 06.11.2025 г., 14:00

Только не пересоли! Just don't oversalt it! • Пересолить (perf.) [pi-ri-sa-lit'] 😄Conjugation 🔻The prefix ПЕРЕ- added to the verb солить (to salt) creates the verb пересолить, which means to add too much salt, to make something excessively salty. 🔻Other examples with ПЕРЕ-: • ПЕРЕстараться (perf.) To overdo/try too hard • ПЕРЕгрузить (perf.) To overload • ПЕРЕплатить To overpay ▶️Переборщить #verbs #prefixes #learn_russian 😎RCR | Support | Boost

Learn RCRussian🤍💙❤️

@learnRCRussian · Post #5624 · 30.10.2025 г., 09:00

🫥Закружиться (perf.) [za-kru-zhy-tsa] 😄Conjugation 🔻This verb is derived from the verb кружить (to make something spin) with the reflexive suffix -ся and the prefix за- (it indicates the beginning of an action). Meanings: 1) To start spinning, whirling: It describes the beginning of a rotational movement. Also about feeling dizzy: • У меня закружилась голова. I'm feeling dizzy. 2) To get caught up in the whirlwind of work, to be swamped/spun around by work: • Извините, что не звонила, я просто закружилась на работе. Sorry I didn't call, I just got swamped at work. ▶️Крутиться как белка в колесе #verbs #prefixes #spoken_russian #learn_russian 😎RCR | Support | Boost

Learn RCRussian🤍💙❤️

@learnrcrussian · Post #4805 · 07.06.2025 г., 14:45

Матерь котья! Бесконечный лоток! Holy Cat Mother! Endless litter box! • Бесконечный (masc.adj.) [bis-ka-nech-nyj] Synonyms (masc.adj.): • Безграничный [biz-gra-nich-nyj] Boundless, limitless, infinite, unbounded • Нескончаемый [nis-kan-cha-yi-myj] Endless, unending, interminable, incessant • Непрерывный [ni-pri-ryv-nyj] Continuous, uninterrupted, unbroken, constant ❗️Note that the prefixes БЕС- and БЕЗ- mean the absence of something, and their choice depends on the following letter: 🔻if it's a vowel or a letter representing a voiced consonant, use БЕЗ-; 🔻if it's a voiceless consonant, a sibilant, or ц, use БЕС-. 🔻Don't forget to ->❤️ this post, please! 🎧🗣👇Всем нескончаемой субботы😉! #useful_vocabulary #adjectives #synonyms #prefixes 😎RCR | Support | Boost

12
ПредишнаСтр. 1 от 2Следваща