Этого треда уже нет.
Это копия, сохраненная 25 июля 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
55 Кб, 500x500
ОЛИМПИАДНОГО ПРОГРАММИРОВАНИЯ ТРЕД НАМБА 2 #706304 В конец треда | Веб
Настало время перекатить и такой тред.

Основные ресурсы с задачками:
codeforces.com - Клевый проект, чуть ли не еженедельные контесты. Система писькомерства рейтинга уровня ELO с Короткевичем 4к+. Задачки своеобразные, пилятся комьюнити, мало общего с задачками стандартного ACM, что продиктовано форматом соревнований. Так же codeforces выбирают площадкой для множества престижных соревнований уровня VK Cup, в тренировки заливаются все крупные контесты оффлайн.
acm.timus.ru - великолепный архив. Решишь 500 задач на тимусе - будешь гарантированно красным на кфе
informatics.mccme.ru - хорош для новичков
Дальше идут ресурсы, которые оп не юзал особенно по своему скудоумию:
acmp.ru - ничего сказать пока не могу
TopCoder.com - пендосский codeforces, регулярные контесты, открытые турниры и тому подобное
e-olymp.com - не знаю

F. A. Q.
Что почитать?
Грэхэм, Кнут, Паташник "Конкретная математика"
Кормен "Алгоритмы. Построение и анализ"
...
Как вкатиться?
Читай книжки сверху, и решай как можно больше

Шапка за пять минут, надеюсь треду жить, принимаются предложения по оформлению
#2 #706313
Открою тред насущным вопросом. Есть задача, в которой мне надобно в отсортированном в порядке неубывания массиве найти подотрезок заданной длины и с заданной суммой. Причем, таких запросов может быть порядка 2x10^5, и элементов в массиве столько же. Я знаю, что можно написать дерево отрезков и для каждого запроса бегать по этому дереву и получать сумму за log, но это в целом дает ассимптотику m n logn, что неприемлемо для ограничений (2 секунды)
#3 #706325
Какой-то сайт с олимпиадной теорией http://hecs.info/
>>706335>>731628
#4 #706332
Чем кодефорсес лучше хакерранка? На КФ ебаные РАСПИСАНИЯ, за это его не люблю.
>>706609>>706627
#5 #706335
>>706325
>>706304 (OP)
Да, про теорию я, кстати, забыл.
http://hecs.info - поделка школьников - олимпиадников, попытка собрать все в одном месте
http://e-maxx.ru - великолепный ресурс, кладезь понятнейших описаний алгоритмов и структур данных
http://neerc.ifmo.ru/wiki - описания более академичны
http://wikipedia.org - как ни странно, алгоритмы в статьях на русском языке представлены очень и очень неплохо
Достаточно много полезной информации можно получить из блогов на ресурсах из шапки. Информации не только по решению задач, но и по сопутствующим темам вроде стратегии на контесте и т.п.
#6 #706337
>>706334
Ну, есть массив 1 2 3 4 5
Подотрезки длины 3:
>>706338
#7 #706338
>>706337
1 2 3
2 3 4
3 4 5
#8 #706339
>>706313
Деревья не нужны. Сделай массив частичных сумм s = a[1] + a[2] + ... + a
С помощью них вычислить сумму отрезка m..n можно как s[n] - s[m-1].
Массив у тебя отсортирован, и это надо использовать. Благодаря упорядоченности сумма отрезка будет монотонно возрастать по мере сдвигания начала отрезка к концу массива. Похоже тут у нас работка для бинарного поиска.
>>706342>>706344
#9 #706340
Посоветуйте статьи по Trie.
>>706360
5 Кб, 635x33
#10 #706342
#11 #706344
>>706339
Ладно, я переусердствовал. Спасибо
#12 #706349
>>706313
Если точно задана длина отрезка и нужна сумма, то высчитываешь среднее (сумму делишь на длину отрезка). Находишь в массиве это число или ближайшее меньшее. Это число будет концом отрезка - проходишь к началу массива на нужное количество элементов и высчитываешь сумму (сам отрезок не нужно хранить - только сумму и индекс конца). Проверяешь сумму - если равна то все. Если меньше то сдвигаешь отрезок - увеличиваешь индекс конца, прибавляешь к сумме новый елемент и вычитаешь старый (тот что вылетел). Снова проверяешь сумму и если надо повторяешь. Если сумма стала больше искомой то отрезка нет. Правда сложность сложно определить, она зависит от скорости роста значений елементов массива.
>>706353
#13 #706353
>>706349
Разве тут асимптотика не просто mlogn выходит? Бинпоиск на число запросов
>>706377
#15 #706377
>>706353
У тебя нет гарантии на то сколько тебе времени прийдется двигать отрезок. Можно (скорее всего) подобрать такие входные данные что бинарным поиском найдешь конец отрезка в самом начале массива и потом будешь двигать в самый конец, тоесть в худшем случае получается m n logn, но для этого значения в массиве должны почти не изменятся. А если значения более-менее возрастают то тогда да, получается m logn. Для худшего случая можно как-то модифицировать алгоритм, например двигать отрезок не сразу по одному элементу, а например, после первого найденого (бинарным поиском) елемента, начать от него перескакивать сразу на несколько десятком или сотен (в зависимости от размера) элементов пока не убедимся что дальше сумма больше - и тогда уже можно искать точнее сдвигая по одному элементу.
#16 #706596
Кто в Гугл код жэм участвовать будет?
>>706798
#17 #706609
>>706332
Бамп вопросу.
#18 #706627
>>706332
В смысле "расписания"? На хаккерранке соревнования тоже по расписанию. Есть задачи которые проссто можно решать - но на КФ тоже же (вроде) можно.
>>706635
#19 #706635
>>706627
Да, на кфе перманентно доступен архив со ВСЕМИ задачами прошедших соревнований
763 Кб, 1920x1080
#20 #706651
>>706304 (OP)
Стоит ли тратить на это время, если мне не нравится этим заниматься? Скажем, для того чтобы показывать работодателям и все такое?
>>706660
#21 #706660
>>706651
Нет, это просто обычное хобби. Бывает, на собеседованиях что-то олимпиадное дают, но обычно самое простое. Работодателю даже более интересно будет посмотреть, как ты будешь пытаться решить, а если ты ему сходу алгоритм выдашь уже известный тебе по каким-то причинам, то все скучно
#22 #706792
Заключительный этап всероса - это примерно какой уровень задач на CF (div1-2 A-E)?
>>706794
#23 #706794
>>706792
Это тебе надо решать обычно весь div1
>>706809
#24 #706798
#25 #706809
>>706794
У меня сосед был, с 7-го класса брал призера, а в 11-м победителя. Как-то писал КФ при мне, решил то ли 3 задачи, то ли 2. Может, конечно, несерьезно подошел.
>>706812>>707059
#26 #706812
>>706809
На кфе немного своя специфика-таки. И времени меньше, и задачи менее идейные. Есть знакомый математик, который в девятом классе выиграл всерос по математике, решив там все задачи. По программированию он тоже на всерос ездит и берет там призерство за счет идейных задач. Я даже не уверен, напишет ли он сам Декартку или ДО
#27 #706841
Что я делаю не так при вычислении медианы целочисленного потока онлайновым алгоритмом?

https://www.hackerrank.com/challenges/find-median-1

https://ideone.com/WKvtSb
>>707447
#28 #706854
Тут кто-нибудь умеет хорошо решать динамику?
#29 #706872
Я ньюфаг, записался в ВУЗе на курсы, щас тренируют на acmp, говорят, что потом нужно на Тимус с Кодфорсами переходить. И у меня возник вопрос: какова сложность задач на олимпиадах (на том же acm) по сравнению с acmp? Если я решаю на acmp задачи сложности 30-40% это же все хуйня по сравнению с олимпиадами?
>>706886
#30 #706886
>>706872
Да, хуйня.
>>707375
193 Кб, 825x517
#31 #706979
Пацаны, дайте подсказку, с какой стороны подходить вообще.
#32 #707003
>>706979
Представь граф, в котором все команды - вершины, а рёбра соединяют команды, сыгравшие друг с другом хотя бы один матч.
Теперь забудь про этот граф. Тебе понадобится другой - в котором ребра соединяют команды, НЕ игравшие друг с другом.
В этом втором графе тебе надо найти связный подграф размера K.
Пишешь Брона-Кербоша, с тем отличием, что тебе надо находить не максимальный связный подграф, а первый попавшийся размера K.
#33 #707014
>>707003
Эх, пока не мой уровень. Но попробую накостылить.
#34 #707059
>>706809
И где сейчас этот сосед, к чему пришел?
>>707102
#35 #707102
>>707059
3 курс ФИВТ МФТИ, преподает в Мытищинской школе программистов, уже год вроде. 3-х учеников поднял до финалистов - победитель/призер/призер.
Может уже и перебрался куда, связи не имею с ним.
#36 #707180
>>706979
Это всерос 2013?
#37 #707184
>>707003
Лол, и как твой Брон-Кербош в TL влезать будет?
>>707198>>707274
#38 #707198
>>707184
Ну вообще я надеялся, что там до бектрекинга не дойдёт. Но ты прав, на это полагаться нельзя.
Надо использовать тот факт, что у каждой вершины 2 ребра. Это значит, что граф целиком состоит из циклов.
Надо найти все циклы, и из каждого убрать по одному элементу.
>>707199>>707259
#39 #707199
>>707198
То есть не убрать по одному элементу, а брать через один.
#40 #707255
>>707003
Как тут вообще строить граф по стольким данным? 100000 матчей - это 50000 команд. По идее тут не пройдут алгоритмы хуже линии.
Может какая хитрая маска.
#41 #707259
>>707263
#42 #707263
>>707259
Кстати, может быть так, что пара команд играла друг с другом в обоих раундах.
>>707265
#43 #707264
>>707255
Берёшь случайную вершину V1, произвольно выбираешь одно из её рёбер. Переходишь по этому ребру в V2.
У V2 два ребра. По одному ты пришёл, а другое ведёт куда-то ещё. Переходишь по второму ребру и т.д.
Рано или поздно ты вернёшься в V1. Это значит цикл замкнулся.
>>707269
#44 #707265
>>707263
Частный случай - цикл длины 2. Но да, может поломать алгоритм, если ты не предусмотрел это.
#45 #707269
>>707264
Это ты к чему?
>>707270
#46 #707270
>>707272
#47 #707272
>>707270
Как ты его хранить будешь, скажи для начала. Вектор векторов или 2д-массив булов? Размер инверсированного графа в любом случае будет 50000*50000=2500000000=2.5 гига. Я про это писал.
>>707274
#48 #707274
>>707272
Про Брона-Кербоша идея неудачная, как правильно заметил >>707184
Но не потому что проблема представить граф. Его на самом деле не надо хранить в явном виде. Достаточно хранить комплементарный граф

>в котором все команды - вершины, а рёбра соединяют команды, сыгравшие друг с другом хотя бы один матч


Это будет просто другое представление графа в памяти. Все нужные операции можно делать и с таким представлением.
>>707278
3 Кб, 200x175
#49 #707278
>>707274
Блин, точняк. Тупо идти через один. С поправкой на не входящие в основной остов пары. Стало понятно, когда представил граф.
#50 #707375
>>706886
А какой сложности вообще задания на олимпиадах по той же шкале acmp? Сам определить не могу.
>>707421
#51 #707421
>>707375
Варьируются. Обычно есть и та задача, которую должны решить все, и та, которую вероятнее всего не решит никто
>>707548
#52 #707447
>>706841
else if (max_heap.size() > min_heap.size())
return max_heap.top();
else
return min_heap.top();
из нижней части нужен максимальный элемент, а из верхней минимальный. А ты берёшь из обоих максимальный.
На самом деле тут достаточно очереди для верхней половины списка и одного значения для нижней. Первые (n-2)/2 элементов не могут повлиять на результат, их не надо хранить.
>>708342
#53 #707548
>>707421
Ну а средняя часть между этими 2 задачами? Вообще какой сложности я должен уметь решать, чтобы дойти до полуфинала acm.
>>707554
#54 #707554
>>707548
http://codeforces.com/gyms
Только на первой странице полно четвертьфиналов московских
#55 #708105
А у каких задача на acmp вообще подходящая сложность?
мимо ещё ньюфаг
#56 #708342
>>707447
Ой, чёт показалось, что входной список отсортирован. Последнее предложение можно игнорировать.
Аноним #57 #708418
Всесибирская в этом году - лютая параша. Ощущение, что просто пропихивали своих учеников в победители. На проверку принималось 3 языка, на компах не было нормальных сред разработки. Год подготовки коту под хвост.
Намного приятнее было писать всеросс, организация на высоте, соревнование не предполагало знания какого-то конкретного ЯПа, интересная система начисления баллов. Хоть тут победителя получил.
>>708524>>708671
#58 #708524
>>708418

>Хоть тут победителя получил


Победителя параши? Заключительный этап только начался.
>>708559
Аноним #59 #708559
>>708524
тьфу ты. я говорил про краевой этап. на заключительный ехать денег нет.
>>708581
#60 #708581
>>708559
Краевой - это хуйня. И она тебе никаких льгот не даст. Призер заключительного = поступление в любой вуз БВИ.
>>708596
#61 #708586
Попробую вбросить идею
#62 #708589
В общем, мы тут решили конкурс-олимпиадку запилить на 4 недели.
Пока только наброски идеи и правил: https://my.mixtape.moe/osxgjw.txt
Критика (кроме сообщений о кривой кодировке) приветствуется.
>>708592>>708593
#63 #708592
>>708589
Кодировка кривая
sage #64 #708593
>>708589
Иди покакай.
#65 #708595
Алсо, кто не решил сокобан на тимусе, тот не спортивный программист.
Аноним #66 #708596
>>708581
и я о том же. поэтому и готовился к всесибу (собираюсь в НГУ). задачи к слову были куда проще, чем на всероссе, даже краевом. знания алгоритма рекурсивной заливки и флойда-уоршела хватило бы для решения всех задач, остальные "идейные". теперь только егэ сдавать на 100, и все в тот же нгу.
>>708602
#67 #708602
>>708596
А че не в Москву
>>708636
Аноним #68 #708636
>>708602
думал про МАИ, но жить и работать хочу в Новосибирске, например в ДубльГис. Сейчас вот думаю какой из двух вузов выбрать: НГУ или НГТУ
#69 #708671
>>708418
Как понять нет денег на всеросс ехать? У кого нет денег? Поступай в УрФУ вместо москвы, там очень крутой тренер асмщик Миша. В Москве ты не пробьешься в команды.
>>708702
Аноним #70 #708702
>>708671
денег нет доехать до Москвы. я живу в Алтайском крае, тут билеты до Москвы стоят 2 месячные зарплаты. И я не планирую дальше заниматься acm, раньше рассматривал только как способ поступления в топовый вуз, например НГУ
>>708711>>708717
#71 #708711
>>708702
Заключительный этап в Казане.
>>709137
#72 #708717
>>708702
управление образования же должно оплачивать
#73 #708718
Да и ЕГЭ выдрочить гораздно проще чем асм
#74 #708721
>>708717
Скорее всего, он не прошел.
#75 #709006
>>708717
Оплачивает регион, так что всегда находятся регионы, откуда за свои едут.
Аноним #76 #709137
>>708717
регион. а я живу в наверное, самом бедном регионе страны. тут на уличное освещение то денег не находится. в прошлом году
>>708711
стоимость билета одна. и в прошлом году в Инополис на роботехнику пришлось ехать через Москву (хз почему так)
sage #77 #709634
бесполезная дрочка с тошнотворными задачками

мимо бывший олимпиадник
#78 #709635
>>709634
А теперь кто?
#79 #709661
>>709634
какой уровень у тебя был? к чему сейчас пришел?
#80 #709701
>>709634
полезная вещь в плане освоения некоторых тонкостей языков, навыков поиска багов, доказательства решений и знания алгоритмов но действительно дрочка

почти бывший олимпиадник
>>709707
#81 #709707
>>709701
А в каком деле не дрочка?
>>709737
#82 #709737
>>709707
Да ни в каком, ясное дело, но спортивное программирование уж слишком узкая область. Становится тесно и скучно.
#83 #710403
Туристу хуйнули -600 рейтинга.
>>710411
#84 #710411
>>710403
Дай ссылку на драму что-ле
>>710443
#85 #710443
>>710411
На главной. Он, мол, каждый раз побеждал сам себя.
>>710455
#86 #710455
>>710443
То есть каждый раз он бы получал все больше рейтинга за первое место?
>>710461
#87 #710461
>>710455
Да. Дельта рейтинга зависит от рейтинга участников, которых ты опередил. Был баг, что сам участник всегда был в этом списке. И турист всегда фактически обыгрывал чела с 4000+ рейтинга.
#88 #710478
Прикольно быть Геной
>>710485>>710511
#89 #710485
>>710478
Все жду, когда он повесится, аки всякие вундеркинды
>>710521
#90 #710511
>>710478
Прикольнее быть сыном олигарха.
sage #91 #710521
>>710485
Зато у него есть девушка, а у тебя нет))0)
79 Кб, 423x650
#92 #710693
Напоминаю, что меньше чем через сутки начинается квал Google Code Jam.
#93 #710903
>>710693
поможете решить? хочу стажировку с сша, но не умею решать ничего
>>711084>>711215
sage #94 #711084
>>710903
Чёт в голосяндру с тебя
sage #95 #711215
>>710903
Лол, там чтобы чёртову футболку получить надо быть где-то на уровне призёра всероса. иди вон из треда
>>711231
#96 #711231
>>711215
топ 500 надо быть
>>711374
#97 #711232
АЦМщики, среди вас крутые шахматисты?
>>711293
#98 #711293
>>711232
Нет
как ты связал в своей голове шахматы и олимпиадодрочку?
>>711315
#99 #711315
>>711293
Потому что и то, и другое являются интеллектуальными занятиями. Нередко бывает, что олимпиадники-предметники играют в ЧГК, шахматы или еще что подобное.
>>711318
#100 #711318
>>711315
Программист-олимпиадник, неплохо играю в шахматы, в ЧГК тащу с командой.
Вещи эти не сильно связаны между собой. Тут скорее объединяет общий вопрос: любишь думать?
>>711343
#101 #711343
>>711318
ЧГК - рилейтед хобби, потому что в обоих занятиях решает уровень абстракции мышления
>>711348
#102 #711348
>>711343
А шахматы чем не подходят?
>>711350
#103 #711350
>>711348
Шахматы - дроч схем, дебютов, эндшпилей, мидшпелей. Творчества там не осталось. На высоком уровне играют до ошибки соперника
>>711378
#104 #711374
>>711231
Топ500 это в 3 раунд, футболка топ1000, по крайней мере, в том году так было.
#105 #711378
>>711350

>дроч схем, дебютов, эндшпилей, мидшпелей.


А как же шахматы Фишера, не слышал что ли? Даже в нашей деревне в них в школе рубились, чтобы вывести на чистую воду соперника, который постоянно одной и той же тактики придерживался.
#106 #711511
Началось!
#107 #711515
Чёт долго тупил над первой. Наверное ночь сказывается.
>>711573
#108 #711517
Есть B. Тоже несложная. Билл Гейтс что-то такое мутил по молодости.
>>711573
#109 #711527
Решил C small.
>>711573
#110 #711528
Да и large засабмиттил.
>>711573
#111 #711529
Вроде въехал в D.
>>711573
#112 #711530
Заебись, можно спать.
#113 #711573
>>711515
>>711517
>>711527
>>711528
>>711529
Как же я вам вундеркиндам завидую.
Какая цель у тебя, на работу к ним хочешь?
>>711765>>711832
#114 #711765
>>711573
Бля, это квалификационный раунд. Чему ты там завидуешь?
>>711851
#115 #711832
>>711573
Ну вот прикинь, готовится моё собеседование в Яндекс. Тут дверь распахивается, и вхожу я в футболке от Гугла.
>>711963>>711971
#116 #711851
>>711765
Я и такое не могу решить. А вообще бывают кто стал неплох в асм своими силами без кружков, тренеров и универов?
>>711905>>712280
#117 #711905
>>711851
Как ты представляешь участие в студенческой олимпиаде без универов?
И что считается "неплох"?
>>712220
Аноним #118 #711963
>>711832
ахуенно же. яб вдул
#119 #711971
>>711832
А в чём проблема? Не футболке самого яндекса же.
#120 #712018
Такое чувство, что полдвача олимпиадники.
#121 #712220
>>711905
На кфе должно быть достаточно таких "вылезаторов"
#122 #712280
>>711851
Ты бы хоть форум codeforces почитал, там половина околокрасных это подпивасные самоучки. а другая половина - школьники, лол
#123 #712453
Квалификация закончилась. Я так высоко в рейтинге, что мне вас отсюда почти не видно.
>>712475>>712937
#124 #712475
>>712453
Очки протри, лол. Русских вверху рейтинга полно. D-large хоть правильно решил? Все остальное примитивно совсем.
>>712693
#125 #712496
Я не прошёл квал, начал изучать программирование 2 месяца назад
#126 #712693
>>712475
За счёт того что у меня все большие оказались решены правильно, а у некоторых нет я где-то на 20 мест поднялся при финализации результатов.
>>713065
#127 #712937
>>712453
Квал никому не интересен, в 3 раунде веселее будет если ты туда пройдёшь, лол
#128 #713007
Я тут один буду вайлдкард вк капа писать?
>>713048>>713085
11 Кб, 168x348
#129 #713048
>>713007
Ну пиздец.
Вижу в прошедших контестах VK Cup 2016 и VK Cup 2016 - Round 1. При этом напротив "VK Cup 2016 - Уайлд-кард раунд 1" активна кнопка зарегистрироваться. Что это значит, я всё-таки могу участвовать?
Лезу читать детали, раскапываю что требуемый возраст от 14 до 23, да и вообще я со своим пустым профилем иду лесом.
Зачем прятать эту информацию так далеко? Почему нельзя убрать кнопку "зарегистрироваться" у тех, кто не проходит по условиям?

I am dissapoint.

Ещё и моих любимых языков нет в их списке. Ну нафиг этот codeforces.
>>713050>>713369
#130 #713050
>>713048
что это за такие любимые языки?
>>713053>>713065
#131 #713053
>>713050
VisualBasic, perl
#132 #713065
>>713050
Не скажу конкретно, я и так близок к деанону после >>712693
Но почему нет Prolog, Erlang, Rust, F#, Clojure, Groovy, J, R наконец?
>>713103>>713137
#133 #713085
>>713007
Я буду, 1 раунд проебал.
>>713093
#134 #713093
>>713085
Я вообще первый раунд не писал. За меня отдувался сокомандник, но он вообще серый, лол. Почти, кстати, прошел
>>713383
#135 #713103
>>713065
А ты крут, много зарабатываешь?
>>713106
#136 #713106
>>713103
Не, у меня просто много свободного времени потому что я безработный.
>>713113
#137 #713113
>>713106
Какой рейтинг у тебя на кфе? Давно занимаешься программированием?
>>713119
#138 #713119
>>713113
На кфе пустой профиль пока.
Занимался в универе не слишком активно, потом работал программером 3 года. Год назад контора закрылась. Надрачивался в основном последний год.
#139 #713137
>>713065

> я и так близок к деанону


Да всем похуй на тебя. Хоть скрин паспорта сюда вбрось.
46 Кб, 640x480
#140 #713338
Почему ещё не сделали официальную команду /pr/?
#141 #713369
>>713048
Дишка есть, надо попробовать.
#142 #713383
>>713093
Я это и имел в виду, проебал это мы просто забили. Так пока раунд нормально идёт.
#143 #713405
Пиздец. Я так и не осилил этот ебучий J
>>713408
#144 #713408
>>713405
А мы 5 штучек сделали в итоге.
>>713412
#145 #713412
>>713408
Поздравляю
У меня просто сокомандник даун. Вот вообще не помогал. Печально. Интересно, что и где пишут на этом языке
#146 #713426
Кто может идей как решить задачу "reverse rmq"?
т.е. вместо массива и следующих за ним запросов нам даются только запросы с ответами на них, и по этим данным должен дать подходящий вариант массива
>>713428>>713433
#147 #713428
>>713426
Ну если навскидку, то идёшь по индексам массива, для каждого индекса проверяешь в какие ренджи он попадает, и пишешь наибольший из их максимумов.
>>713429>>713430
#148 #713429
>>713428
*минимумов
#149 #713430
>>713428
и перед этим, для пущей ахуенности отсортить по левой границе. так?
>>713431>>713434
#150 #713431
>>713430
запросы
#151 #713433
>>713426
scanline по запросам.
>>713439
#152 #713434
>>713430
Я бы сделал два мапа, оба с ключом по индекса. Один - ренджи в которые ты входишь на этом индексе, другой - из которых выходишь.
#153 #713439
>>713433
я хз что такое сканлайны
гугла на мусор выводит
>>713443
#154 #713443
>>713439
Собственно, прямой перевод: сканирующая прямая.

Короче, я имел в виду сортировку запросов, и дальше мы идём по индексу итогового ответа и поддерживаем текущие запросы, по ним строим число в этом месте или говорим, что ответа нет
>>713446
#155 #713446
>>713443
нормас, спасибо
плюс к рейтингу на кф тебе, бродяга
#156 #713551
Помогите осознать простенькую динамику. Я-то сам умею только считать количество способов дойти куда-то в n-мерном пространстве за k шагов, а тут еще за каждый шаг дают разное число очков и его надо максимизировать. Если конкретнее, то есть полоска из клеток, у каждой клетки есть приз, и каждый из k ходов мы должны либо уйти на x в одну сторону, на y в другую или вообще на месте. Как тут переходы должны выглядеть?
>>713738
#157 #713738
>>713551
Непонятно, напиши подробнее.
>>713816
#158 #713816
>>713738
Есть полоса из клеток. У каждой клетки приз за то, что наступаешь в нее. Есть k шагов. Каждый ход идем в клетку, которая лежит в х клетот слева, или в y справа, либо вовсе остаемся на месте и снова получаем очки, будто мы только что пришли в эту клетку. Теперь надо максимизировать наш счет
>>713818>>713848
#159 #713818
>>713816
Черт, только что подумал. Может, это тупой рекурсией зайдет? Вечером ограничения уточню
#160 #713848
>>713816
Вроде обычная двухмерная динамика по индексу клетки и по номеру хода, очередной ход пересчитывается через предыдущий. Здесь, почти как и в любой динамике, прокатит рекурсия с мемоизацией.
>>713853>>713856
#161 #713853
>>713848
Рекурсия с мемоизацией кушает много памяти - почти NK вместо 2N.
>>713875
#162 #713856
>>713848
Я понимаю, что это динамика, что двумерная. А вот как переход делать не догоняю
>>713875
#163 #713875
>>713853
Ну да, кушает, ограничений-то мы всё равно не знаем.
>>713856
Как говорится, переход очевиден. Пусть прошло М шагов, мы рассматриваем клетку К. D - динамика, А - бонусы. Тогда мы к D[M+1][K-x] прибавляем D[M][K]+A[K-x], остальные два перехода по тому же принципу.
>>713878>>714242
#164 #713878
>>713875
Не прибавляем, а обновляем значение, если новое больше старого, или если D[M+1][K-x] было не инициализировано.
Да и на D[M][K] надо для начала посмотреть, инициализировано ли оно.
>>713884>>714242
#165 #713884
>>713878
Ну да, обновляем. Смотреть никуда не надо, просто сначала нормально инициализировать динамику нужно и всё.
>>713885
#166 #713885
>>713884
Нормально это как?
>>713907
#167 #713888
А на этом говне (J) ктонибудь кодит в реале? Или оно годится только для этих тестиков?
>>713889
#168 #713889
>>713888
Я кодю. Пруф: $%(&^%^$%^&()((&^%^&()_)(&(*%$
>>713891
7 Кб, 626x50
#169 #713891
>>713889
Давай рассказывай как его правильно запускать чтобы я мозги не ебал.
>>713897
93 Кб, 811x741
#170 #713897
>>713891
Тащемта никакого секрета тут нет. Просто берёшь и запускаешь без задней мысли.
>>713905
46 Кб, 605x117
#171 #713905
>>713897
Ладно, попробую собрать новую 8 версию желания ебаться с косяком 7ого pkgbuild'а нету.
#172 #713907
>>713885
Ну или нулями, или -INF, по ситуации.
>>713913
#173 #713913
>>713907
Нулями некорректно. После первого хода ты можешь достичь 3-х ячеек, а с нулями будет выглядеть будто ты оказался и в этих трёх, заработав сколько-то, и достиг всег остальных, заработав 0.
-INF можно, но некрасиво.
null самое то.
>>713931
66 Кб, 669x506
#174 #713920
Оффтопик конечно, но почему автор компиля J забил на ворнинги?
>>713933
#175 #713931
>>713913
На олимпиадах красота никого не интересует... Что нулями некорректно, я отлично понимаю, просто сказал два самых частых решения. Ещё иногда -1 используется, вместо null.
sage #176 #713933
>>713920
Ты серьёзно сел разбираться с этим говном?
#177 #713976
Ребята, вы у телочек пользуетесь популярностью?
>>713979>>713985
sage #178 #713979
>>713976
нет
>>714046
#179 #713985
>>713976
Семь лет и 30 килограмм назад у меня были шансы.
>>714046
#180 #714046
>>713979
>>713985
Короткевич с Бардашевичем так то крутыми выглядят , особенно с наградами в руках, телки любят таких
>>714206
#181 #714206
>>714046
Ну где они, а где мы... Другое дело, что я вижу много успешных ребят, вышедших из школьной олимпиадной тусовки.
#182 #714242
>>713875
>>713878
Спасибо огромное, но не объясните ли вы, почему этот алгоритм не вырождается в обычную жадность? Разве мы не локально для каждого прыжка выбираем самый выгодный ход?
>>714243
#183 #714243
>>714242
А ты условие объясни сначала. Мы из любой клетки можем начинать или как, ограничения какие, это всё важно.
>>714246
334 Кб, 1366x768
#184 #714246
>>714252
#185 #714252
>>714246
Интуитивно можно пояснить, что алгоритм не вырождается в жадность, потому что при количество_ходов->∞ самая выгодная стратегия это кратчайшим путём добраться до максимально выгодной клетки и стоять там. При уменьшении количества ходов сначала решение может перейти в поход до самой выгодной клетки по самому выгодному пути, при дальнейшем уменьшении уже вообще непонятно что будет, всё ближе и ближе к результатам жадного алгоритма. Надеюсь, стало чуть более понятно, я имею опыт только таких полуинтуитивных догадок, почему в одной задаче жадник, а в другой динамика.

Закрой ты уже доки по J, в самом деле, и забудь о нём навсегда.
>>714254
#186 #714254
>>714252
Я понимаю, почему эту задачу не решить жадностью, но не понимаю, почему работает такая динамика, где мы просто каждый ход выбираем самый выгодный следующий
Что не так с J?
>>714256
#187 #714256
>>714254
О, это уже намного проще пояснить. Сначала, очевидный факт, что решение для N шагов зависит только от решения для N-1 шагов. Дальше ты доказываешь корректность перехода так: во-первых, такой переход не ухудшает ответ, во-вторых, лучше сделать нельзя, следовательно, он оптимальный.

Это совсем кратко, но в общем это схема типичного доказательства перехода.

он отвратителен, его синтаксис не для людей
>>714259
#188 #714259
>>714256
Все, понял. Сотни нефти тебе

А мне доставляет
>>714261
#189 #714261
>>714259
Для хардкорной практики придумывания и доказательства динамики есть прекрасная задача "Казино": всерос 2005, финал, день 1, задача С; №11 на informatics.mccme.ru.
>>714276
#190 #714276
>>714261
Ага, гляну. А еще такой вопрос. Мне для следующей итерации, какую клетку считать новой стартовой? Неужели просто ту, на которой я отхвачу максимум очков в предыдущей итерации?
>>714295
#191 #714295
>>714276
Ты не понял сути. В ДП ты идёшь по всем путям одновременно, шаг за шагом.
Стартовыми будут все клетки полученные на предыдущей итерации.
>>714299
#192 #714299
>>714295
Да, я уже написал. Каждый раз загоняю в вектор возможные стартовые клетки и от них стартую. Ва на тесте 8 - это на что похоже? Переменные, где может быть переполнение, вроде уже проверил
>>714328
#193 #714328
>>714299
Зачем ты их загоняешь куда-то?? У тебя есть массив динамики, сначала ты инициализируешь позиции перед первым ходом как надо, например, в нужные клетки ставишь 0, в остальные -INF. Тогда при пересчёте ты вообще не паришься, пути из неправильных клеток всё равно дадут отрицательные значения и в ответ не попадут. Только тогда надо учесть, что все состояния динамики на каждый ход надо тоже сначала поставить -INF.
>>714335
#194 #714335
>>714328
Действительно. Получил AC. Надо, короче, нарешивать динамику, а то ни один нормальный контест без нее не обходится
#195 #715014
Терпеть не могу геометрию.
Если нам задан выпуклый многоугольник координатами его вершин вдоль обхода, то как найти самую длинную диагональ быстрее, чем за квадрат?
#197 #715114
>>715014
Берем две(или три если точки трехмерные) оси (90 град одна относительно другой), проецируем на них все точки. Ищем на осях крайние точки - это будет потенциальные длинейшие диагонали.

За какое время такой алгоритм? Линейное?
>>715121
#198 #715121
>>715114
А если не будут?
>>715126
#199 #715126
>>715121
Может и не будут.
Наверно пару осей нужно взять из первой и средней грани предварительно проверив их на сонаправленость.
>>715129
#200 #715129
>>715126
А не, средняя не нужна, перпендикуляр от первой норм будет.
>>715131
#201 #715131
>>715129
Что ты называешь первой гранью?
>>715134
#202 #715134
>>715131
У тебя же полигон точками задан?
Первая грань - vect (p[0] - p[1])
>>715155
92 Кб, 1154x876
#203 #715155
>>715134
Ну вот контрпример на оба случая. Если A и B это p[0] и p[1], то проверка ничем не будет отличаться от первого варианта что ты предложил.
>>715175
#204 #715175
>>715155
Засада. Предлагаю вбить костылей и добавить еще две оси по 45 град. к первым. Инфа 146% этого точно должно хватить!

Хотя может лучше из рандомной грани оси брать. Полик выпуклый - значит примерно на 1/4 граней приходится поворот на 90 град. Значит оптимально, брать перую, n*1/4 и их перпедикуляры.
#205 #715181
>>715014
Скорее всего если взять какую-то вершину, и потом по очереди смотреть длины диагоналей по очереди, то они будут сначала расти а потом падать (на выпуклом многоугольнике). Тоесть можно искать чем-то типа бинарного поиска.
>>715185>>715197
#206 #715185
>>715181
Но искать придется для каждой вершины же.
3 Кб, 400x400
#207 #715197
>>715198
59 Кб, 807x873
#208 #715198
>>715197
Опередил.
#209 #715200
Короче, я уже ответил в >>715107
Там асимптотика O(n). Зачем изобретать велосипед?
>>715208
#210 #715208
>>715200

>Зачем изобретать велосипед?


Интересно же. Потом когда кора одеревенеет, тогда и можно сразу в гугол.
#211 #715209
>>715014
Берём любую вершину, ищем для неё противоположную. Дальше, из очевидных соображений, если мы первую вершину сдвинем на 1 по часовой (то есть возьмём следующую вершину), то для этой вершины ответом будет являться либо уже найденная противоположная, либо эту противоположную надо будет так же сдвигать по часовой стрелке. Таким образом, если у нас есть список вершин в порядке обхода по часовой стрелке, то нахождение диагонали занимает линейное время, так как первая вершина пройдёт полный оборот, и противоположная ей суммарно пройдёт тоже ровно 1 оборот.

Обход по часовой стрелке строится за O(NlogN) построением выпуклой оболочки, например, хотя может оказаться, что это пушка по воробьям и тут можно проще.
>>715210
#212 #715210
>>715209
Насколько я понимаю, я описал что-то похожее на >>715107 , ну, чукча не читатель.
2440 Кб, 2295x3327
#213 #718177
>>710693
Напоминаю, что уже идёт раунд 1А Google Code Jam.
#214 #718195
Не прошёл, лол.
Решил первые две. Долго тупил над второй, и на третью не хватило времени.
Хотя понял её быстрее чем вторую.
Убираем тех, в кого нет входа, в оставшемся графе находим петли.
Посадить в круг можно либо петлю в полном составе, либо пару + входящие в неё с каждой стороны цепочки.
>>718730
#215 #718197
Во второй довольно быстро понял, как найти диагональ, но после этого застрял.
Мне казалось, что надо восстановить сетку полностью.
Где-то час я ломал голову как это сделать. Пытался рекурсией - убираем первый столбец и первую строку, и решаем меньшую задачу. Но соснул на этом пути.
>>718356
#216 #718356
>>718197
Тоже не прошёл, решил всё кроме Clarge, потом просто смотрел, как с 700 места медленно съезжаю вниз.
>>718730
#217 #718730
>>718195
>>718356
Приглашение на собеседование то получите?
>>718754
#218 #718754
>>718730
Ну хватит уже.jpg
#219 #718829
Что дают подобные занятия, кроме удовлетворения фаллометрии? Ни одна из этих задач на практике не пригодится. Хотя алгоритмы это нужная тема, если ты не вебмакака, но тут они слишком уж оторваны от жизни
Пост не вброс. Просто никогда не занимался олимпиадным погроммированием.
>>718843
#220 #718843
>>718829
Занимаюсь олимпиадной прогой 5 лет, по сути, так и попал в программирование. Мне это помогло научиться программировать, искать баги, писать код нормально и понятно (потому что как раз на олимпиадках пишешь код настолько блевотно, что больше никогда так делать не хочется, и понимаешь, что никто это не поймёт даже через 5 минут). Алгоритмы дали понимание оптимизации программ, использование оптимальных структур, понимание вообще как это работает в глубине, желание сделать покрасивее и в то же время быстро рабочим. В целом, ящитаю несколько лет олимпиадной проги намного полезнее нескольких лет фронтенда, ну только если ты на фронтенде не собираешься сидеть всю жизнь.

Если ты уже более-менее понимающий программист, то тебе это нахуй не упало, ну разве что немного алгоритмы подкачать, но как начало самое то для некоторых.
>>718969>>718970
#221 #718969
#222 #718970
>>718843
Вот проблема только лежит в переходе между началом и дальнейшими действиями.

Вопрос ко всем тут: я сейчас заканчиваю десятый класс, балуюсь олимпиадками на среднем уровне, во всех рейтингах-таблицах уровня выше районного стабильно в серединке. Но я отдаю себе отчет в том, что мои некоторые скиллы в спортивом программировании нахуй не сдались в том, что называют промышленным программированием. И для меня сейчас остро стоит вопрос о переходе к такому виду работы. И если с олимпиадками все просто - задач пруд-пруди, то на чем мне практиковаться на начальном уровне в обычном программировании я ума не приложу. Наверное, я безыдейное говно. Вот как олимпиадники вообще существуют в ит-структуре?
>>718974
#223 #718974
>>718970
Отлично существуют, промышленное программирование это надо прочитать пару кодстайлов и книгу банды четырёх, всё.
>>718977
#224 #718977
>>718974
Допустим я познакомился с крестами только для олимпиад. Я знаю синтаксис, знаю стл. ООП мне нахуй не нужен был до этого. Теперь я хочу познать ооп, прочитал я пару глав книжки. Что-то понял. Но как мне это закрепить на практике? Один раз писал условный класс time, но это же, писец, скучно. Ничего интереснее не найти?
>>718983
#225 #718983
>>718977
Что там в ООП учить-то. Если очень хочешь, то придумай себе проект какой-нибудь, например, обработка русского текста.

Я на ООП никогда внимание не обращал, интересовался новыми фичами, а теперь мои кресты никому и не нужны, на работе почти всегда на питоне пишу, иногда шарп ещё.
>>718990
#226 #718990
>>718983
А как ты на работу попал?
>>718995
#227 #718995
>>718997
#228 #718997
>>718995
А скиллы для собеседования где взял. Писал проект какой-нибудь, например, обработку русского текста?
>>719014
#229 #719014
>>718997
Нет, только олимпиадная прога, просто я сейчас в безопасности работаю.
#230 #724912
Вы что, сдохли тут все?
>>725170
#231 #725170
>>724912
Все на gcj уехали
>>725339>>725827
#232 #725339
>>725170
Но финал же только через 3 месяца...
>>725827
#233 #725827
>>725170
>>725339
Привезите мне футболку, хочу ходить в ней летом по своему городу как король
sage #234 #725956
Кароч тред официально мертворождённый, прошёл 2 раунд VK Cup и ни одного нового сообщения.
belkka #235 #725985
>>706979
откуда задача?
>>725995
#236 #725995
>>725985
Всерос 2013.
#237 #726265

>Что почитать?


И что, обязательно читать теорию от корки до корки, прежде чем лезть в программирование?
>>726266>>726274
#238 #726266
>>726265
Нет, но вероятнее всего, что ты однажды напорешься на то, что твоих мозгов не хватит, чтобы придумать какую-то структура данных или алгоритм, но которые уже описаны умными людьми. Это полезно
#239 #726274
>>726265
Все не нужно, в олимпиадках используется подмножество алгоритмов, то что легко и быстро написать. Но что-то нужно посмотреть обязательно, ты не можешь в одиночку придумать все что придумало человечество за 60+ лет, кем бы ты там небыл.
#240 #726314
Сколько задач нужно решить на тимусе, чтобы можно было уже пробовать себя на кодефорсес, чтобы рейтинг сразу в парашу не скатить? Вообще, стоит ли прорешивать тимус?
>>726316>>784415
#241 #726316
>>726314
Тимус стоит прорешивать однозначно. Думаю, сотка задач позволит претендовать на эксперта
>>726317>>726330
#242 #726317
>>726316
Я прорешал сотку снизу по сложности. Теперь я эксперт?
>>726321>>726330
#243 #726321
>>726317
На всеросе не сильно соснёшь. А вот кодефорсес пока отложи.
#244 #726330
>>726316

>Тимус стоит прорешивать однозначно


Спасибо, значит, буду прорешивать.
>>726317

>Я прорешал сотку снизу по сложности


Давно тренируешься?
>>726340
#245 #726340
>>726330

>Давно тренируешься?


Ну сотку это я переборщил. Где-то 60.
Перед вузом пару месяцев поигрался. На самом деле, на этом уровне почти нет серьезных алгоритмов. В основном матеша и смекалка. Когда встретился с победителями/призерами всероса, потерял мотивацию продолжать.
>>726346>>726443
#246 #726346
>>726340
Потерял по какой причине?
>>726353
#247 #726353
>>726346
Недосягаемый уровень. У людей 5 лет форы во всяких СУНЦах и физмат-лицеях против моей гуманитарной гимназии.
>>726400
#248 #726400
>>726353
А как же Ренат Муллаханов, вечная ему память, из обычной школы, на 1 курсе засел за тренировки, на 3 курсе взял золото финала ЧМ.
#249 #726407
>>726400
Талант, имхо
#250 #726426
>>706304 (OP)

> че почитать


e-maxx же, нет?
#251 #726443
>>726340

> В основном матеша и смекалка. Когда встретился с победителями/призерами всероса, потерял мотивацию продолжать.


на всеросе можно взять диплом, не написав алгоритма сложнее бинпоиска, атвичяю. одноклассник так и сделал
>>726448>>726945
#252 #726448
>>726443
>>726443

>одноклассник так и сделал


В каком году?
>>726454
#253 #726454
>>726448
в этом
>>726554
#254 #726554
>>726454
Он сильно задрачивался?
>>726617
#255 #726617
>>726554
ваще нет.
#256 #726690
>>726400
Ебать охуенный чувак был. Просто взял и опустил в парашу мамкиных корзиноидов, которых дрочили со школьного возраста.
До сих пор бомблю со всяких "одаренных детей", у которых на проверке оказывается мамка/папка либо сорт оф ученые/преподы, либо бохатые и наняли корзине репетиторов.
В то время как плебс продолжает в неведеньи кушать убогую школьную программу.
>>726727
#257 #726727
>>726690

> а проверке оказывается мамка/папка либо сорт оф ученые/преподы, либо бохатые и наняли корзине репетиторов.


такие одаренности далеко всё равно не идут. а если идут, то шли бы и без мамок-папок-репетиторов
>>726730>>726747
#258 #726730
>>726727

>такие одаренности далеко всё равно не идут


Верно.

>а если идут, то шли бы и без мамок-папок-репетиторов


Неверно.
>>726797
#259 #726734
>>726400

>Ренат Муллаханов


https://www.fl.ru/users/mrk84/
#260 #726747
>>726727

>такие одаренности далеко всё равно не идут


На чугунной жопе как раз и идут. Думаешь, все спортивные программисты гении что ли? В основном они стали такими благодаря долгой задрочке, и под присмотром наставников.

>то шли бы и без мамок-папок-репетиторов


Увы, но такое бывает редко. "Маменькиных сынков" больше на порядок. Каким бы ты не был талантом, но без ресурсов и вовремя преподнесённых знаний ты пролетаешь.
>>726797
#261 #726797
>>726747

> без ресурсов


"ресурсы" и "мамка/папка либо сорт оф ученые/преподы, либо бохатые и наняли корзине репетиторов" -- разные вещи. некоторым хватает просто некоторой поддержки, а не последнего

> Думаешь, все спортивные программисты гении что ли?


топовые -- да. а нетоповые на то и нетоповые, сколько бы их мамки и преподы ни надрачивали, они не оч много могут

>>726730

> неверно


имелось в виду "без таких мамок, о которых говорил ты", см. выше
>>726847
#262 #726822
Теперь это памяти Рената М. тред
>>726889
#263 #726847
>>726797
Ну всё, ты прав, ты прав, осади уже.

>сколько бы их мамки и преподы ни надрачивали, они не оч много могут


Впрочем, надо ли? Поиграться для души/мозгов и задрачивать до посинения ради прокачки ЧСВ или пристройки своей жопы в говновуз - немного разные вещи.
>>726900
#264 #726889
>>726822
А что с ним? На кфе так и не сказали, чому он откинулся
>>726899>>726901
#265 #726899
>>726889
Что-то с давлением было.
#266 #726900
>>726847

> надо ли


увы, в этом случае решают мамки.

> задрачивать до посинения ради


ради влажных фантазий мамки обычно. по крайней мере, не конченый человек, которому не очень импонирует спортивное программирование(да что угодно подобное) не будет им заниматься сам даже ради каких-то своих целей
>>726906
#267 #726901
>>726889
Рак жопы.
#268 #726906
>>726900
Меня вот моя мамка-швея заставляла только ходить в церковь. И гулять в день как минимум 2 часа. Приходилось тупо стоять у подъезда, чтобы потом посидеть за компом, а то шнур забирала. А когда она уебывала на работу, со мной оставалась бабка, которая бухала до состояния говнины и валялась обоссанной в туалете.
А теперь сравни с родителями Короткевича, программистами, которые обучали его с самого детства.
>>726914>>726989
#269 #726914
>>726906

>гулять в день как минимум 2 часа. Приходилось тупо стоять у подъезда


Ну да, мамка виновата в том, что ты ебанат, не умеющий жить.
>>726925
#270 #726925
>>726914
Увы, но в школьном возрасте подрастающий член общества просто не знает ещё, как жить, и как можно жить иначе. У него тупо нет опыта, знаний, кругозора. Всё зависит от окружения.
Так что возвращайся в /b/, школьник.
>>726941
#271 #726941
>>726925
верно говоришь
#272 #726945
>>726443
Я примерно так в 13 призёром стал, правда, вместо алгоритмов пришлось из сообразительности все соки выжимать.
>>726980
#273 #726980
>>726945
так я и говорил, что алгоритмов чувак не очень писал
#274 #726989
>>726906

> Приходилось тупо стоять у подъезда


ты идиот чтоле? по крайней мере гулять много интереснее, чем стоять у подъезда.

результат сравнения очевиден, но давайте сравним просто семью, в которой ребёнку хотя бы не мешают. тогда вероятность получить не корзинку с испорченной психикой и мировоззрением сильно меньше, соответственно действительно одарённый ребёнок в таком случае будет явно более успешен
#275 #727305
Можно ли обойти связный неорграф без циклов, то есть просто дерево, но без перекрашивания вершин?
>>727307
#276 #727307
>>727305
Обойти, конечно, рекурсивным дфсом
#277 #729739
>>706979
Понимаю, что поздно, только щас заметил тред.

Задача дико тупая, не слушай тех, кто сыпет какими-то заумными словами.
У тебя есть граф, вершины это команды, ребро есть если был матч. У тебя у каждой вершины степень ровно 2 по условию. Тогда граф разбивается на циклы (это вроде не очень сложное утверждение например, можно просто начать идти от какой-то вершины по ребрам, по одному ребру пришел, по другому вышел, так как вершин N, рано или поздно ты попадешь в какую-то вершину, где ты уже был. Это может быть только первая вершина с которой ты начал, иначе ты получил вершину степени 3 - ты в нее вошел, вышел, а сейчас еще раз пришел)
Очевидно, что из каждого цикла длины k можно взять не более k / 2 команд. При этом, k / 2 можно взять - просто берешь через одну.
А циклы это компоненты связности. Разбиваешь dfs-ом граф на компоненты связности, считаешь сумму (размер очередной компоненты / 2), если она хотя бы К - то все заебись
>>729740>>729743
#278 #729740
>>729739
Да, деление везде целочисленное.

Алсо, двукратный призер всероса ИТТ, сейчас занимаюсь АСМ-ом в вузике хоть и не столь активно дрочу, как некоторые, задавайте свои ответы
>>729742
#279 #729742
>>729740
Какой вуз? Регион какой хотя бы?
>>729769
#280 #729743
>>729739
Так ровно это же выше и говорили
>>729769
#281 #729769
>>729743
Кек, проебался, увидел только пост с каким-то алгоритмом
>>729742
ДС2
#282 #729779
Олимпиадники, подскажите, как учить язык, с чего начать, примерно подскажите по своему опыту?
>>729797
#283 #729797
>>729779
Берешь, читаешь какую-нибудь книжку/курсы (проси совета в соответствующем треде), параллельно решай задачи из первого блока отсюда, чтобы освоить основы http://informatics.mccme.ru/

Далеко копать в язык не надо (в смысле про всякие слова уровня ООП и прочее), если надо чисто для олимпиадок
На тимусе можешь еще порешать тупенькие задачки.
#285 #731065
>>730826
Такой сильной антирекламы я давненько не видел. Если бы не возможность удаленки и миграцию, я бы давно уже дропнул эту хуйню нахуй, но я слишком тупой для сложных вещей и не умею наебывать на даллары.
>>731067
119 Кб, 731x710
207 Кб, 1253x698
41 Кб, 685x689
44 Кб, 686x701
#286 #731067
>>731065
Там ещё и жиды сплошные
нормально защитились от тянок, сразу видно людей которые берегут свой пестик для единственной, моё увожение
15 Кб, 300x300
60 Кб, 413x604
20 Кб, 320x240
16 Кб, 300x300
#287 #731080
>>730826
БЛЯЯЯЯЯЯЯЯЯЯ ПХАХАХАХАХАХАХА ЕБАТЬ УНТЕРМЕНШИ ГДЕ ОНИ ИХ НАБРАЛИ?
ЫТА ВОБЩЕ ЛЕГАЛЬНО???
>>731083
#288 #731083
>>731080
Олимпиадоилита и байтослесари как они есть, не то что эти тупые хипсторы!
>>731086
#289 #731086
>>731083
Это ж тупые жиды, они сами не кодють. Вот у них в подвале сидит Ванька-программист который ебашит все проекты в одно рыло по 12 часов в день без выходных за два доширака и упивается своей элитарностью и знанием алгоритмов.
>>731090
#293 #731115
>>731101
Вообще-то Денис очень талантливый, и многие задачки, где куча текста в виде сказки или фэнтези придумал именно он. Бронзовая медаль на ЧМ асм айсиписи
>>731122
#294 #731122
>>731115
Да я то без претензий к ним, кроме разве что к художественной ценности их рекламы. Просто не мог пройти мимо и не подметить некоего сходства.
#296 #731153
>>730826
Заметили, что достаточно много ребят и топа олимпиадников остались в рашке?
>>731457
#297 #731362
https://www.youtube.com/watch?v=27F46WPVJBs
Второй раунд коде джема уже через 17 минут.
#298 #731368
Почему они все такие всратые, пиздец?
#299 #731417
Есть A
#300 #731457
>>731153
Это пока. Кто знает, что будет дальше.
#301 #731460
ИДЕ повисла? Нет времени ждать, быстрее перезапустить! Я наверняка сохранил код, который писал последние полчаса!
Дебил ёбаный.
>>731468
#302 #731468
>>731460
Никогда еще иде не висла. Ты там кучу переполнял чтоле?
>>731469
#303 #731469
>>731468
Ну, ИДЕ это громкое слово в данном случае. Я пишу прямо в Groovy console. Её легко повесить.
#304 #731628
>>706325
хехе, творение знакомых засветилось
#305 #732383
Ваши ставочки на последние два часа Чемпионата Урала?
>>732398
#307 #732398
>>732383
Я болею за команду Ural FU : UF larU, но они не пробьются. Думаю, что на первое место выйдут Ural FU: Dandelion (Меркурьев, Сивухин, Данилюк).
>>732401>>732414
#308 #732401
>>732398
Знаю из твоей команды Чаплыгина. Классный парень, но они слабоваты
>>732402
#309 #732402
>>732401
Он из моего города, потому и болею за них.
#310 #732414
>>732398
Что-то Данделионы посасывают
>>732437
#311 #732437
>>732414
Они по польской системе, будут сдавать кучу решений в самом конце.
>>732528
#312 #732528
>>732437
Много насдавали?
>>732555
#313 #732555
>>732528
не фартануло, но все равно крутые
#314 #732798
Книги из ОП поста подходят свовсем нубам вроде меня? Если нет то посоветуйте плиз что-нибудь, желательно с малым количеством матана
>>732800>>733065
#315 #732800
>>732798
А ты возьми и почитай
#316 #733065
>>732798
Язык программирования уже знаешь какой-нибудь?
>>733144>>733265
sage #317 #733144
>>733065
Тут ещё и язык нужен?? О_о
#318 #733148
>>706304 (OP)

>Решишь 500 задач на тимусе - будешь гарантированно красным на кфе


Откуда такая инфа пошла?
726 Кб, 1200x3160
#319 #733151
#320 #733265
>>733065
Изучаю С++
>>733337
#321 #733337
>>733265
Как ты его изучаешь?
>>733390
#322 #733390
>>733337
По книге Стенли Б. Липпмана, Жози Лажойе, Барбары Э. Му "Язык программирования C++. Базовый курс". До этого опытов с программированием почти не имел
>>733393
#323 #733393
>>733390
Ты школьник?
>>733399
#324 #733399
>>733393
первокурсник
#325 #735642

>> Для проведения эксперимента надо выбрать из N имеющихся приборов только три. Для этого выполняют следующую операцию - если в группе приборов больше трех, то их нумеруют и выбирают одну из групп: с четными или нечетными номерами. Операцию повторяют до тех пор, пока в группе не останется три или менее приборов. Если их остается ровно три, то они и берутся для эксперимента.Требуется написать программу, которая подсчитает количество способов такого выбора приборов.Как сделать это за 1 секунду при 1 <= N <= 2147483647. Не могу уложиться в эти условия.

>>735737>>736219
85 Кб, 941x590
#327 #735863
Ребята помогите тупому с задачкой пожалуйста
>>735933
#328 #735933
>>735863
^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
>>735937>>735940
#329 #735937
>>735933
Спасибо, но мы на курсе не дошли до такого, надо как то через циклы if for while getline и функцию stoi
>>735947>>735954
#330 #735940
>>735933
Буду благодарен если напишешь примерно, что у тебя в коде написано, чтобы я погуглил
>>737612
#331 #735947
>>735937
Ты язык не написал.
>>735956
#332 #735954
>>735937
Хуевый у тебя второй курс
Мимо-МФТИшник
>>735956
#333 #735956
>>735947
>>735954
Прохожу курс Густокашина по С++ на степике
>>735996
#334 #735996
>>735956
А олимпиадное программирование тут причём? http://stackoverflow.com/a/10200328
>>736104>>736105
#335 #736104
>>735996
Да потому что эта задачка вполне подходит, я на тимусе решал, там есть похожие по сути.
#336 #736105
>>735996
Густокашин сам крутой олимпиадник, вот и курсе своем дает задачки такие
#337 #736219
>>735642
Вот оптимизированный вариант: https://ideone.com/ROocYY
#338 #737611
Вот это норм олимпиадка, не то что ваши днище-ацмы
https://meduza.io/feature/2016/05/03/my-nachinaem-nashe-mochilovo
>>737615>>737622
#339 #737612
>>735940
Нынешние студенты не знают про регулярки? Значит я за свое будущее спокоен.
>>737620
#340 #737615
>>737611
А как в это дело вкатиться? Обязательно иметь ученую степень в иб? Вот как катываться в олимпиадки без сторонней помощи хотя бы понятно, а тут какая-то закрытая система
>>737619
#341 #737619
>>737615

>а тут какая-то закрытая система

>>737623
#342 #737620
>>737612
Ты дебил блять какие студенты, месяц назад начал проходить курс, до этого о проге не слышал даже
#343 #737622
>>737611
CTF ни чем не круче ACM
>>737624
#344 #737623
>>737619
Блджад, enter случайно отправил.
Короче, по моему скромному мнению, даже школьные олимпиадки это отчасти закрытая система. Потому что у ололомпиадников есть свои "клубы", есть тренера, короче мафия задротов, и типа всеобщая олимпиада сводится к эстафете "между своими".
Бомбит например с того факта, что в обоссаном ацм победителем уже хуй сколько раз был летмо, хотя по мне говношарага говношарагой. Подебителей надрачивают тренерки, причем только из числа отборных задротов, а все остальные желающие сосут хуй.
>>737625>>739327
#345 #737624
>>737622

>ни чем


Иди интегралы под водовку решай, второкур.
#346 #737625
>>737623
В итмо на тренировки могут приходить все желающие, всему научат. Я сам, как школьник, тренируюсь у Маврина, просто в начале учебного года кинул анкетку и все
>>737629
#347 #737629
>>737625

>как школьник


Ты собираешься поступать по результатам олимпиадки?
>>737639
#348 #737639
#349 #739327
>>737623

>ИТМО


Не надо тут, два года назад СПбГУ затащил, например
>>739630
#350 #739630
>>739327
Да много годных универов, ИТМО вывозит еще за счет того, что туда больше всего задротов олимпиадников съзжается, причем не только из Рашки. Самарский вуз сильный, УрФУ тоже, ПермГУ тоже золото брали
>>739631
#351 #739631
>>739630
Ну да, только в тот же СПбАУ перевелся на первый курс со второго ИТМОшник, а еще перешел (в прошлом году) вот как раз победитель межнара из СПбГУ.
Так что, возможно, это не надолго, хех
>>739632
#352 #739632
>>739631
Лол, в ау вообще не особо приветствуют занятия асмом, потому что отнимает много времени и сил, а программа там и без того сильная.

Мимо имею друзей и на кт, и в ау, и в спбгу, и в урфу и в пермгу
>>739633>>739646
#353 #739633
>>739632
Ты уже закончил универ?
>>739634
#354 #739634
>>739633
Еще не начинал
#355 #739646
>>739632
Ну да, но на финал команды вот проходят, пусть и выступают не очень. Да и на всякие сборы ездят себе спокойно, например
#356 #740633
А тут у всех вас есть кружки, тренера, команды? Есть такие кто сам в одиночку с помощью интернета превозмогает?
>>740641
#357 #740641
>>740633
На кфе видел посты таких. Всякие I_Love_Tanya_Romanova
>>740659>>745154
#358 #740659
>>740641

>I_Love_Tanya_Romanova


Почитал его блог, какой- то монстр просто.
>>745339
#359 #740698
Ало, здравствуйте, это тред специальных олимпиад?
>>740726
#360 #740726
>>740698
Да, вы пишите на Ruby?
>>740838
#361 #740838
>>740726
Гхм... нет. Вы извините, но, может быть, я номером ошибся? Это точно тред специальных олимпиад, а не клуб гей-знакомств?
#362 #744073
Ну что, кто на ЯндексАлгоритм зарегался? Как оцениваете шансы? Трудно ли попасть в топ-512?
>>744287
#363 #744287
>>744073
Впервые услышал про него. Попробую, наверное.
#364 #744329
Посмотрел разминочный раунд и охренел от сложности задач на 1.5 часа времени.
#365 #744333
>>744329
А чем ты на работе занимаешься?
#366 #744821
>>744329
а чем они там сложные?
#367 #745154
>>740641
Он из ЛНУ, чувак в олимпиадках с восьмого класса (сейчас он на шестом курсе). Потом в ЛНУ учился, тренер - Василь Білецький, он тоже брал золото ACM в 2008 году.
Так что там не интернетом, а благодаря хорошей тусовке в том числе. Хотя решал он дофига, спорить не буду
>>745280
#368 #745228
>>744329
Ты про яндекс.алгоритм? Последние тяжелые. А первые то вообще херня.
>>745261
#369 #745261
>>745228
Ну вот шашматы, например. Там целую игру надо закодить с перебором вариантов. На все это дается 1:40 времени. Может, конечно, вы тут все чемпионы по скоростному набору кода, но мне нужно полдня чтобы такое закодить и отладить. Ты пробовал эту задачу делать? Сколько времени потратил?
>>745268
#370 #745268
>>745261
Что там было? Сейчас только какую-то хуйню "A+B" выводит, не вижу нигде шашмат.
>>745271
#371 #745271
>>745268
https://contest.yandex.ru/algorithm2016/contest/2497/problems/C/

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

Игра шашматы происходит на стандартной доске 8 × 8: вертикали пронумерованы буквами от a до h, горизонтали — числами от 1 до 8, поле a1 — чёрное, каждое чёрное поле может граничить по стороне только с белыми, и наоборот.

Игроки ходят по очереди. У белых одна фигура — шахматный конь, у чёрных — обычная шашка. Фигуры делают ходы в соответствии с правилами своих игр. А именно, шашка изначально располагается на чёрном поле и может передвигаться только по чёрным полям, уменьшая номер горизонтали на 1, номер же вертикали может как увеличиться на 1, так и уменьшиться; разумеется, выход за края доски запрещён. Конь ходит на одну клетку в некотором выбранном направлении (горизонтальном или вертикальном) и на две в перпендикулярном ему; при этом начальная и конечная клетки хода должны находиться на доске.

Правила, по которым определяется победитель, таковы:

Если на ходу белых конь может пойти на поле, занятое шашкой, конь берёт шашку, и белые выигрывают.

Если на ходу чёрных шашка может пойти на поле, занятое конём, при этом следующее в том же диагональном направлении поле существует (то есть конь стоит не на краю доски), шашка берёт коня, и чёрные выигрывают.

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

Если чёрные своим ходом приводят шашку на первую горизонталь, чёрные выигрывают.

По заданной начальной позиции и цвету игрока, делающего ход первым, выясните, кто выиграет при правильной игре.
>>745303>>745533
#372 #745280
>>745154

>Так что там не интернетом, а благодаря хорошей тусовке в том числе


Двачую. Если не связи со всякими ололо-тренерами и прочей петушнёй, то хотя бы иметь товарища, который подскажет, что и как учить, какую литературу читать. Я в 8 классе в одиночку пытался решать задачи и обломался на них по полной, без соответствующих знаний было СЛОЖНА и страшно.
#373 #745303
>>745271
Я сделал первые две за 8 минут, и лёг спать, так как там только одну достаточно, чтобы пройти.
для тренировок есть кодфорсес.
Шашматы -- просто написать перебор. Не так долго и писать, ведь всего две фигуры. Наложить ограничения. Делать проверку на победу. запихать это всё в рекурсию. Посмотреть на дерево. Вывести ответ.
#374 #745339
>>740659
А что там такого-то?
http://codeforces.com/blog/entry/7162
Чувак не знает про передачу параметров по ссылке.
http://codeforces.com/blog/entry/13207
Чувак не знает про ненормализованные даблы и не в состоянии нагуглить.

Остальное - приглашения на какие-то конкурсы.
>>745654
#375 #745343
https://mitpress.mit.edu/sites/default/files/Chapter 26.pdf
26-3
Это CLRS.
Скиньте пожалуйста пример решения этой или концептуально похожей задачи. Ну или на пальцах поясните, я обучаемый.
>>745567
#376 #745533
>>745271
Ща попробую.
>>745541
#377 #745541
>>745533
Ну вот что получилось. Прогнать тесты не могу потому что не зареган. На это ушло около 45 минут.
https://ideone.com/Sra0zX
>>745761>>745766
#378 #745567
>>745343
Это не то, что тебе нужно. Я тебе уже в ньюфаг треде намекал, что тебе надо собрать ранец
https://ru.wikipedia.org/wiki/Задача_о_ранце
>>746065
#379 #745654
>>745339

>А что там такого-то?


Ну он же пишет, что не было команды, что в одиночку превозмогал, а теперь он охуенно-красный.
#380 #745761
>>745541
Это вместе с отладкой, или ты просто написал и все?
>>745769
#381 #745764
Хотел послать твое решение, но там груви не принимается.
#382 #745766
>>745541
https://ideone.com/3P69JN
e4 e3 white -> white wins
неправильно, должно быть блэк

Собственно, о чем я и говорил. 45 минут ушло на написание этого, потом еще час на отладку, вот и закончилось время. А это только третья задача.
>>745811
#383 #745769
>>745761
Написал и всё, проверил что запускается. Не имею возможности потестить.
#384 #745811
>>745766
Ну вообще у меня на диске пылится готовое решение для https://www.e-olymp.com/ru/problems/32
Так что в контесте я бы взял его за основу и поменял только минимум - разницу между пешкой и шашкой. Получилось бы быстрее.
И насчёт часа на отладку ты загнул. Так редко бывает с олимпиадными задачками при грамотном подходе к дебагу.
#385 #746065
>>745567
Во-первых, перестань меня преследовать.
Во-вторых, Кормен лучше знает что нужно, а что ненужно
В-третьих, ты нихера не условия задачи.

Собственно, с третьего пункта мне нужно было и начинать.
>>746185
#386 #746185
>>746065
Ну давай, расскажи мне как в твоей жизни встала задача поиска максимального паросочетания в двудольном графе.
>>746236>>746239
#387 #746236
>>746185
Приходит такой прафесар и говорит, кароч)) вот вам задача, кто не решит - тому пизда.
#388 #746239
>>746185
Альзо, если двудольный граф это bipartite graph, то ты опять пальцев в жопу.
При всем уважении, не мучай себя.
#389 #747688
Ну что тут есть олимпиадники с Пхукета?
>>747692
#390 #747692
>>747688
Не удивлюсь, что Бардашевич двачует. Правда, явно не тут. Ближе к желтым колобкам
>>747792
#391 #747792
>>747692
Лол, а что так?
#392 #749539
>>749520
Сначала на листочек выписывается строка. Игроки ходят по очереди и на каждом ходе можно стереть один символ из начала или конца строки. Побеждает игрок, перед ходом которого строка была палиндромом. Палиндромом называется строка, которая читается одинаково слева направо и справа налево.
Определите, какой игрок победит при оптимальной стратегии обоих игроков.
620 Кб, 2091x317
#393 #749623
>>749628>>749633
#394 #749628
>>749623
Что за сложный мемес?
#395 #749633
>>749623
Так это тренер.
#396 #750634
Ребяты. У меня есть 30 задач на тимусе, и целое лето впереди. Но я сам безвольное хуйло. Никто не хочет со мной в соревновательной, менторской или иной форме порешать это дело?
#397 #751251
>>750634

> соревновательной


чуваки с codeforces или topcoder очень хотят. если дрочишь на рейтинг, то добро пожаловать туда. мне более-менее помогало(это единственное место кроме олимпиадок, где я решал задачи). правда призером всероса так и не стал
>>751496>>751628
#398 #751496
>>751251
Контесты проходят не достаточно часто, чтобы быть постоянной тренировкой
>>751919
726 Кб, 1200x3160
#399 #751622
>>750634
у меня 25 задач на тимусе и я вообще не шарю, держи гайд от великого мастера
>>751629
#400 #751628
>>751251

>правда призером всероса так и не стал


Чем сейчас занимаешься? Куда поступил/будешь поступать?
>>751911
#401 #751629
>>751622
Да, спасибо. Но это я уже раз четвертый читаю.
>>751669
#402 #751669
>>751629
Знаешь Мишу?
>>751674
#403 #751674
>>751669
Рубинчика? Увы, нет
>>784436
#404 #751884
>>750634
А ты как занимаешься? Какой язык выучил?
>>751912
#405 #751911
>>751628

> Чем сейчас занимаешься?


страдаю хуйнёй, cf пишу, ну и соревнования типа codejam, rcc

> Куда поступил/будешь поступать?


видимо, в итмо(олимпиадки 1 уровня есть). хотелось бы в мгу ибо корочка пижже, но егэ сдать хорошо если на подтвержение в итмо смогу
#406 #751912
>>751884
Самый жесткий буст получил в школе. Нам преподавала сестра одного из чемпионов ACM в прошлом, менее успешная. Это было в 8 классе. Потом на кружке при ИТМО пересел на кресты, с тех пор только стал более уверенным
#407 #751919
>>751496
можно писать старые(виртуально), но лично я такой парашей не страдал никогда
>>751924
#408 #751924
>>751919
М-м-максимум уныло. И слишком велик соблазн подсмотреть тесты, почитать разбор или чужое решение.
>>751935
#409 #751935
>>751924
не было такого. ваще есть 3 случая:
1) эта фигня для самолюбования а ты показываешь что ты слабый -> провал
2) эта фигня просто чтобы порешать интересные таски -> нафиг читерить если цель -- решить?
3) остальное -> нафиг ваще решать?
>>751942
#410 #751942
>>751935
Попеременно испытываю все три предпосылки
>>751949
#411 #751949
>>751942
ок, тогда как может возникнуть желание считерить? в любом случае оно нерационально
>>751997
#412 #751997
>>751949
Наверное, акцептед доставляет больше чем весь процесс. Или это временное, или мне не место в олимпиадном движении
>>752015
#413 #752007
https://www.hackerrank.com/ Олимпиач, что скажешь про эту помйку?Для новичка порешать задачки пойдет?
#414 #752015
>>751997
т.е. для тебя AC полученный путем прочтения чужого решения -- заебись? если так, то, видимо, не место. едиственная ситуация, когда это нормально -- это если ты хочешь научиться хорошо реализовывать(тогда разбор надо читать без деталей, естесна)
#415 #758124
Есть два прямоугольника, один размера a x b, другой размера c x d, напишите функцию, которая будет возвращать true если второй прямоугольник можно поместить внутри первого, иначе false.
114 Кб, 720x960
#416 #758150
Немножко пищи для ума страждущим:

Есть массив уникальных дат месяца, отсортированный по возрастанию, на которые вам требуется купить билет t[0..30], где t = [1..30]. И есть следующие типы билетов:
1) Билет на 1 день за 2 рубля;
2) Билет на 7 дней за 7 рублей;
3) Билет на 30 дней за 25 рублёй.

Напишите программу, которая поможет пидорахе сэкономить на проезд в текущем стабильном положении в стране.

Программа должна возвращать минимальную сумму в рублях, которая покрывает все поездки.

Пример [1, 2, 4, 5, 7, 29, 30] = 11.
#417 #759132
>>758150
Что с этим столбом? Он вкусняшкой обмазан?
>>759150
#418 #759150
>>759132
Жить захочешь и не так раскорячишься такие вкусняшки найдешь.
#419 #760520
>>758150
Очевидная динамика очевидна.
#420 #760540
>>758150
последовательность дней из:
23~30 = 25 рублей
22 = 23 рубля
18~21 = 21 рубль
15~17 = 14+(2,4,6) рублей
11~14 = 14 рублей
8~10 = 7+(2,4,6) рублей
4~7 = 7 рублей
1~3 = (2,4,6) рубля(-ей)

Осталось выделить последовательности
>>760596
#421 #760596
>>760540
Дэбил, зачем пытаешься жадник придумать. Много таких по весне оттаяло, в этой задаче думать вообще не надо, пишешь динамику и всё. Уметь отличать задачи на жадник от задач на динамику – крайне важный скилл.
>>760609>>760615
#422 #760609
>>760596
Мсье, а как вы определили, что тут лучше динамическим программированием решить?
>>760611
#423 #760611
>>760609
Определил из того, что задача стандартная и обычной линейной динамикой решается в два счёта.
>>760616
#424 #760615
>>760596

>Уметь отличать задачи на жадник от задач на динамику – крайне важный скилл.


Подкинь чтива на этот счёт.
>>760619
#425 #760616
>>760611
реши
>>760617
#426 #760617
>>760616
Решил
>>760618
#427 #760618
>>760617
покеж
>>760627
#428 #760619
>>760615
Нет никакого чтива, по крайней мере, я так и не нашёл. В Кормене есть про динамику, сам пытался в своё время понять по нему, но не вышло. Есть только стандартный принцип: если тебе кажется, что задача на жадник, но что-то не выходит, или слишком тяжело, то попробуй динамику. В случае этой задачи вообще беспроигрышный вариант, что жадник что динамика одну сложность имеют.
>>760665
#429 #760627
>>760618
Нечего показывать, мне решение и так очевидно.
Могу на пальцах: мы по каждому дню от него вперёд проставляем оптимальные варианты. Пусть сегодня 0 день, тогда мы смотрим, есть ли поездки в день 1. Если есть, то ставим на 1 день 2 рубля, иначе 0. Смотрим на поездки с 1 по 7, если есть, то ставим в 7 7 рублей, иначе 0. Дальше принцип понятен, думаю, когда я говорю "ставим", то имею в виду взятие минимума из нашего промежуточного варианта и того, который уже для этого дня есть. Изначально 0 дню ставим 0, остальным INF.
По тесту из условия, на 0 дне в 7 ячейку проставится 7, дальше эта семёрка будет ползти до 28 дня, откуда два раза прибавится 2.
>>760628>>771373
#430 #760628
>>760627
Чтобы решение было за линию, наличие поездок на промежутке проверяется с помощью префиксных сумм.
1639 Кб, Webm
#431 #760629
#432 #760665
>>760619
Под жадником это имеется ввиду?
https://ru.wikipedia.org/wiki/Жадный_алгоритм
>>760759
#433 #760759
>>760665
Не, вроде вот этот
https://otvet.mail.ru/question/3504695
71 Кб, 900x355
#434 #771373
>>760627
Что-то как-то сложны ты на 2-х пальцах объясняешься.
Вот что у меня вышло:
https://github.com/arbitrary-dev/problem/blob/master/ticket/src/main/java/com/problem/ticket/Ticket.java
>>773854>>773857
#435 #771543
Сосаны, с каких лет лучше начинать готовиться к олимпиаде?
>>771699>>774003
#436 #771699
>>771543
К жизни лучше подготовься, придурок.
>>771981
#437 #771981
>>771699
Успокойся, сопи в две дырки ровно
#438 #773854
>>771373
Ок, просто мне больше нравится решать задачи более общими методами. Вот тут ты напрямую пользуешься тем, что один из билетов всего на 1 день, а другой сразу на 30, то есть на весь промежуток. Давай тогда дадим тебе промежуток в 100000 дней и 10 каких-нибудь случайных чисел как длительности билетов. Тогда ты придёшь ровно к тому же, что я и написал, иначе пальцы отвалятся случаи разбирать.
#439 #773857
>>771373
http://paste.ofcode.org/8ErWwmMWpEa9JJksEAbhHp вот, в общем, короткое и более мощное решение.
#440 #773859
>>706304 (OP)
Секунду, так писать на 1С?
#441 #774003
>>771543
после 6 класса
#442 #775884
>>778212>>778557
#443 #778212
>>775884
У тебя сколько задач решенных?
>>779409
54 Кб, 536x757
#444 #778407
Как решать?
>>778520
#445 #778520
>>778407
Просто.

Найди первый элемент в отсортированном массиве, он на позиции k (нумерация с 0). Разберём два случая:
1. k%2 == 0 -> проводим операцию на подотрезке от 1 до k -> k элемент стал k-1.
2. k%2 == 1 -> проводим операцию на подотрезке от 0 до k -> k элемент стал k-1.

Таким образом доводим первый элемент на его место (нулевое), дальше точно таким же образом обрабатываем суффиксы массива длиной n-1, n-2, ... , 2. Так как элементов всего 100, то задача решается втупую за куб.

Если ограничения были бы чуть побольше, то элементы попарно в массиве можно свапать за логарифм двумя неявными декартовыми деревьями, с ними получится решение за N^2 * logN.
>>778522
#446 #778522
>>778520
Пиздец перемудрил, это же тупо на сортировку пузырьком, типа такой хитровыебанной операцией просто завуалировали, что ты можешь свапать два соседних элемента. Пишешь обычный пузырёк, хотя за квадрат, хоть за куб, и всё.
>>778525
#447 #778525
>>778522
В пузырьке не соседние свапаются.
>>778537>>778538
#448 #778537
>>778525
Ты хоть раз пузырёк писал?
#450 #778544
>>778538
>>778538
Прикиньте я всегда вместо сортировке пузырьком писал сортировку выбором.
>>778546
#451 #778546
>>778544
Вопрос в другом: зачем ты вообще писал сортировку?
>>778547
#452 #778547
>>778546
Ну тогда был паскаль и мне сказали писать сортировку пузырьком.
>>778548
#453 #778548
>>778547
Помню полулегенду, что Гена пишет qsort на паскале за 40 секунд.
>>778549
#454 #778549
>>778548
Знаю девочку, которая знает Гену лично. Замеряли они это дело как-то. Там было что-то чуть больше двух минут, если мне память не изменяет
>>778550
#455 #778550
>>778549
Зря ему про плюсы рассказали, мог бы в книгу рекордов Гинесса попасть.
#457 #778998
>>778557
как ты перешел на язык Груви и почему?
>>779334
#458 #779334
>>778998
На работе заставили выучить. Там был джава проект, но нужно было и скрипты писать. Нравится что есть опциональная типизация.
#459 #779409
>>778212
0
мне на пересдачу дают одну из них я сижу туплю.
вру одна решена Козла пустили в Огород
так же есть пак решении на эти задачи?
#460 #779410
>>778557
это блять что такое?
#461 #779632
Я конечно не знаю но олимпиадные задачки настолько запутанные, что мне их лень расшифровывать чтобы узнать что от меня хотят. В фрилансе очень четко известно что нужно писать. Нахуй эти олимпиадные задачи, лучше решать реальные.
>>779636
#462 #779636
>>779632
Как это, обычно как раз наоборот, в задачке абсолютно чётко сказано, что от тебя хотят, с ограничениями и примерами. А вот что бывает в типичных ТЗ...
#463 #779643
А если допустим 1000 таких задачек решить и на github выложить, то работу можно так найти?
>>779646>>779647
#464 #779646
>>779643
Нуу, нет, но большой рейтинг на кодфорсах или топкодере это плюс на собеседовании во всякие яндексы.
>>779647>>779654
#465 #779647
>>779643
>>779646
Вот вакансия, где пишут про олимпиадки, например http://www.aimtech.com/vacancies/C++ Developer/
#466 #779649
>>710693
Мне бы хоть три штуки из предыдущих google code jam решить, дак я и одну задачку не потяну.
https://code.google.com/codejam/contest/32004/dashboard
Её за два часа решают, я за два часа даже не разберусь что нужно от меня.
#467 #779654
>>779646
Буду старые задачки google code jam решать и github выкладывать
>>779656
#468 #779656
>>779654
Попробуй, конечно, но рейтинг намного более важен.
>>779658>>779659
#469 #779658
>>779656
Фигасе из Россси только 255 человек в гугл код джам участвовали. Вообще программистов нету.
>>779660>>781220
#470 #779659
>>779656
Мне любая работа программистом пойдет. Лишь бы задачи поставленные решать, в топ 500 мне хоть тресни не войти.
#471 #779660
>>779658
Как посчитал? Если учесть, что на квалах в этом году было больше 27 тысяч человек, то 255 как-то мало звучит.
>>779665>>779666
#472 #779665
>>779660
https://www.go-hero.net/jam/16/languages/Python#problems
254 contestants может я конечно что то не правильно понимаю
>>779671
#473 #779666
>>779660
А, это только 255 питонистов, остальных больше.
>>779671
#475 #781220
>>779658
Просто если бы участвовал на 1 человек больше, то было бы переполнение и счёт пошёл бы снова с нуля.
#476 #781230
>>779671

> https://www.go-hero.net/jam/16/name/Louise.de.La.Valliere


Ахуеть. Помогите найти этого психа. Хочу на гитхаб его посмотреть.
#477 #783371
Вы юзаете std::thread в своих задачках?
>>783912>>785671
74 Кб, 703x761
#478 #783524
Как решать?
>>783688
#480 #783912
>>783371
нет. Даже не знаю, что это
>>783913
#481 #783913
>>783912
И как успехи?
>>783914
#482 #783914
>>783913
Уверенный первый див пруфов не будет
#483 #784402
>>706313
считываешь все запросы сначала, а потом одним проходиком отвечаешь на все
#484 #784415
>>726314
решай задачи прошлых контестов на кф. Там и разборы есть
#485 #784436
>>751674
Еще Копелович есть, он классный
>>784459
#486 #784459
>>784436
Копелиович. У Рубинчика одноклассник асmщик учился с Копелиовичем, потом его вроде отчислили.
#487 #784463
Вот смотрю я задачи на тимусе и вижу как растет сложность с годами, див2А сложнее чуть ли не половины задач тимуса
>>784725
#488 #784725
>>784463
Сколько задач на тимусе у тебя?
>>785379
#489 #785379
>>785632
#490 #785632
>>785379
Но это даже не близко к половине
#491 #785671
>>783371
Есть очень мало контестов, типа Distributed Google Code Jam, где он может пригодиться. В остальных случаях процессорное время считается, очевидно, как сумма всех тредов, так что оверхед на управление тредами только навредит.
#492 #786159
Алгоритмотреда нет, спрошу здесь.

Вот есть следующая задача.
Дана плоскость, есть несколько точек на ней (до 500), с не очень большими координатами (от 0 до 50, вещественные). Надо найти для каждой пары точек кратчайший путь между ними.
Плоскость (можно рассматривать только квадрат 50х50) поделена на единичные квадраты, каждому квадрату сопоставлен какой-то вес. Соответственно, длины всех отрезков внутри квадрата домножаются на его вес.
Не обязательно точное решение (я не уверен, что оно есть), но очень хорошее приближение желательно, да и чтобы работало быстро.

Я пробовал сделать следующее: покрыть большой квадрат сеткой, построить граф на этом, соединить исходные точки с ближайшими вершинами сетки и запустить 500 раз (количество точек) Дейкстру (которая с кучей)
Но это работает медленно при сколько-нибудь большом размере сетки, да и хочется таки сделать более хорошее приближение. Всякие A-star для увеличения скорости тут разумеется не подходят - мне надо от точки искать расстояние до всех, а не до одной, то есть все равно почти весь граф придется обойти
>>786249
#493 #786249
>>786159
Какой ты ещё граф делал? Судя по твоему условию, тут всё намного хитрее. То есть минимальное расстояние не факт, что прямая, так как разные веса у секторов. Я всё правильно понял? Тогда физическая аналогия -- свет в материале с разной проницаемостью. То есть минимальное расстояние до заданной точки выражается через тригонометрию. И перебором по всем точкам O(n^2). Можно ли быстрее? Надо думать. Ещё такой вопрос -- какой вес на грани квадрата? То есть из одного сектора перпендикулярно дохожу до другого, а дальше двигаюсь вдоль грани: какой в итоге вес?
>>786257>>786262
#494 #786257
>>786249
Да, конечно не прямая, иначе в чем задача, лол. Но, тем не менее, это какая-то ломаная с не очень большим числом отрезков
Считаем, что по грани совсем вдоль нельзя идти - либо ты с одной стороны (на eps), либо с другой.

А как выражается через тригонометрию, я не понимаю вот чего-то. Ну то есть явное аналитическое уравнение у меня не получилось написать. Для случая если надо перебраться в какую-то точку в соседнем квадрате понятно как считать еще (да и то, если оптимальныей путь не идет как-то в обход), а в общем случае хуй поймет.
>>786262
#495 #786262
>>786249
>>786257

>какой граф


Эм, ну в смысле? Я ж сказал: покрываю все мелкой сеткой с небольшим шагом (например, 1/3, если меньше, то дольше работает), вершины - узлы сетки и исходные точки, ребра - отрезки между соседними точками сетки (по всем 8 направлениям), веса считаются легко
>>786278
#496 #786278
>>786262
А, понял про граф. Но погрешность же большая.
>>786341
#497 #786341
>>786278
Ну так да, я и говорю, что хочется как-то оптимальнее. А не очень понятно как, не увеличивая плотность сетки
>>786479
#498 #786479
>>786341
Расскажи подробнее про требуемую точность и производительность.
Сколько есть времени на анализ плоскости, и сколько раз после этого надо определять расстояния между точками на ней?

Я бы увеличил количество точек, но оставил только точки в фиксированных позициях на границах квадратов.
Предрассчитываем таблицу расстояний между точками с фиксированными позициями на сторонах квадрата, чтобы потом забыть про тригонометрию. Цена ребра равна соотв. расстоянию на коэффициент квадрата.
Дальше группируешь квадраты в блоки 4x4, строишь для каждого блока матрицу расстояний между всеми его внешними точками (можешь начать с расстояний между внутренними точками квадратов 2x2, потом между их внешними точками, а потом объединить четыре 2x2 в один 4x4 и повторить процесс). Можно придумать оптимизации исходя из геометрического смысла. Например путь из (0.1, 0.1) в (2.1, 0.1) точно не проходит через (1.1, 0.9).
Как пользоваться этим я думаю понятно. Но не забывай, что кратчайший путь между точками внутри блока может выходить за пределы блока.
#499 #787900
АХТУНГ ВСЕМ ЗАДРОТАМ У ВАС УНИКАЛЬНЫЙ ШАНС ПРИМЕНИТЬ СВОИ ЗНАНИЯ НА ПРАКТИКЕ
Есть 1 взвешенный, неориентированный граф. Он разделён на 2 подграфа так что все его вершины входят в один из двух подграфов. При этом оба эти подграфа состоят только из одной компоненты связанности. У этого графа веса имеют не вершины, а рёбра. Ценой графа называется сумма весов всех ребер которые соединяют 2 подграфа. Разрешается переносить любую вершину подграфа в другой подграф кроме некоторых закреплёных. Закреплёные вершины всегда соединенны рёбами только с вершинами своего подграфа и названы заранее. Задача минимизировать цену графа так чтобы количество вершин принадлежащих каждому подграфу осталось неизменным и подграфы остались состоять из одной компоненты связанности.
#500 #787981
>>787900
Ограничения на размер графа?
#501 #787988
>>787900
Вот это воды налил, вместо того чтобы просто описать ограничения на минимальный разрез.
По теме, решения с ходу не знаю, есть подозрение, что за полином не решается, ну или очень трудно. В любом случае, глянь в сторону как раз минимального разреза.
>>788176
#502 #788176
>>787988
Не у тебя у одного такое подозрение возникло. Сходу даже не решается частный случай невзвешенного графа например
>>788407
#503 #788264
>>787900
Щас подумал про закреплёные вершины. Они не нужны исли в клнце просто одну проверкц добавить. Может так задача проще станет? Почитал про разрез. Мне его минимального веса надо и размеры подграфов не должны поменяться. Тогда нужно найти минимальный разрез такой алгоритм ведь есть? пока он не будет делить граф правильно искать следующий за ним по размеру разрез. Такое возможно?
>>788407
#504 #788407
>>788264
Ну ты сам подумай, что сказал. Фактически ты перебираешь разрезы, а их экспонента (все возможные разбиения на два множества, 2^V)
>>788176
Ну от твоего частного случая до общего уже очень близко. Если подставим кратные рёбра, то получим дискретный случай.
#505 #788449
Ахтунг, ты слишком неопределённо поставил задачу. В общем случае она NP-сложная. Если соединить фиксированные вершины каждого подграфа рёбрами бесконечного веса со своей вершиной (чтобы гарантировать, что фиксированные вершины окажутся в разных подграфах), а также добавить две вершины, соединённые со всеми остальными рёбрами нулевого веса (это возможный частный случай входных данных, при котором связность подграфов гарантирована), то получаем задачу о fixed balance edge cut, которая известна NP-сложностью.
Но если знать, например, что вершин не больше сотни, или что максимальная степень графа невысокая, или что он разреженный, или что он планарный, или что требуется приближённое решение, то можно подумать об оптимизациях.
Есть ли у задачи физический смысл, типа раскидывания компонентов по сторонам платы, или серверов по датацентрам?
>>788646>>791372
#506 #788646
>>788449

>что вершин не больше сотни


2к максимум. У каждой вершины от 2 до 6 рёбер.

>требуется приближённое решение


Ну в крайнем случае можно и приближённое. Или сделать вес всех рёбер 1.

>Есть ли у задачи физический смысл


Его в некоторых случаях нужно будет в игре применять. Один из них минимизация длины линии фронта или раздел границы после войны. Какой алгоритм там теперь я не знаю, но он либо оставляет какие-то полуострова врезающееся в чужую территорию там где были прорывы, либо анклавы там где были котлы.
>>789363
#507 #788906
http://acm.timus.ru/status.aspx?author=41395
смотрите с какой скоростью пацан решал задачки, причем сложные
>>788969
#508 #788969
>>788906
Хм, это контест с Петрозаводских сборов. Либо он в числе его авторов, либо он был участником на сборах, а потом досдал задачи, в чем проблема?
7 Кб, 528x457
#509 #789363
>>788646
Дуги и вершины нарисованы в фиксированных позициях на плоскости, и должны остаться на тех же местах после проведения разреза? Если да, то это важное ограничение.
Оптимальным разбиением пикрелейтеда может быть {A, B, C} и {D, E}, но ты не сможешь провести так границу не пересекая лишних дуг.
>>791283
#510 #791283
>>789363
Лол, как ты до такого варианта вообще дошёл? У нас тут на граф задача, а не на геометрию.
Твоя геометрия решается за что-то около (V^2)*E то есть не больше чем V^4 в общем случае тупым перебором с сортировкой по полярному углу.
>>791372
#511 #791372
>>791283

>Его в некоторых случаях нужно будет в игре применять. Один из них минимизация длины линии фронта или раздел границы после войны.


>У нас тут на граф задача, а не на геометрию.


Не факт. Возможно >>788449 просто неправильно понял какую задачу ему надо решить.
>>791373>>792101
#512 #791373
>>791372
fix: Возможно >>787900 просто неправильно понял какую задачу ему надо решить.
>>792101
#513 #792101
>>791372
>>791373
Да, если это игра, то звучит разумно. Просто надо уточнять такие детали, на плоскости задача, можно сказать, давно известна и решается просто. В общем случае это объект научного исследования.

алсо, запилил перекат >>792098 (OP)
Тред утонул или удален.
Это копия, сохраненная 25 июля 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски