Второе предложение из комментария напомнило мне одну весьма больную (по крайней мере, для меня) тему.
Кого мы подразумеваем под словом "новичок"? Того, кто недавно начал заниматься спортивным программированием, или того, у кого плохой навык решения задач? Сложный вопрос. Да, да, первое по идее автоматически предполагает второе (человек не может с рождения быть хорошим СПшником, чтобы хорошо решать задачи, нужно учиться). Но личные наблюдения показывают, что есть много людей, не относящихся к первой категории, но относящихся ко второй.
Так что же заставляет т.н. новичков укореняться в своем статусе? По-другому: что обеспечивает низкий порог вхождения в СП и одновременно с этим возможность застрять на серо-зеленых ступенях развития? Не те самые легкие задачи, про которые я упомянул в заголовке темы? Почему я вообще качу на них бочку? Что в них плохого? Разве Petr и tourist никогда не решали их, разве они начали с ходу с гробов, и у них все сразу получилось? Да не в самих задачах дело, а в отношении к ним...
Решил вот человек заниматься СП, привели его на ресурс, подобный acmp.ru. Там сабжевых легких задач — больше половины. Начал наш новичок их решать, вначале было трудно, потом стало легче, потом вообще все пошло как по маслу, и он нарешал их пару сотен. Натыкается наш "новичок" на что-то уровня этой самой А-шки с сегодняшнего дня и застревает. К сожалению для "новичка", легкие задачи не подняли его уровень алгоритмического и математического мышления на приемлемый уровень. Тут "новичок" встает перед выбором: решать что-то более сложное и развивать себя в ходе этого дела, застрять на месте или тупо на все забить. Проще всего пойти по второму пути, ну многие так и делают, попутно пополняя собой ряды вечнозеленых участников на CF и TC ("Узнал я про CF. Поучаствую, ведь главное именно это, а не победа."). Кстати, и тут легких задач достаточно.
Вспоминаю свой опыт решения задачи Ancient Messages с финала ACM ICPC 2011, кажущейся халявкой по меркам остальных задач оттуда же, но занявшей у меня (тогда совсем новичка) несколько часов. Какая же была радость после получения АС! Кроме этого, я научился пользоваться DFS-ом и получил серьезный подъем мотивации на развитие.
Основная мысль всего вышесказанного: лучше помучиться над более сложной задачей, решить ее и получить что-то для себя, чем просто решить еще одну халявку.
Написал все почти на одном дыхании.
Если кф ставит своей целью расширение аудитории, то на див2 А надо давать проще задачи. Все-таки 5 задач и есть возможность делать плавный рост сложности, чтобы большинству было интересно.
Думаю, не стоит. Человек, который поставил перед собой цель и у которого хорошая сила воли, думаю, добьется многого и он не "соскочит" с выбранного пути. Было бы желание.
У меня тоже были слив за сливом. Решал по 0 задач(редко 1). Потом начал много работать над собой. Сначала думал, что прорешаю пару сотен задач из архива CF, отсортированных по убыванию решаемости(фактически, в порядке возрастания сложности) и все будет классно. Сдавал 10-20 задач в день, а толку? Прорешал 200 задач и понял, что эффекта ноль. Далее я стал искать хороший задачник и наткнулся на acm.timus.ru. Также отсортировал по сложности и вот уже почти сотню прорешал. В начале получалось сдавать 20 задач в день, сейчас штук 5 :) Кажется, прогресс есть.
Я к тому, что не стоит делать задачи в див2 проще. Можно решить 20 задач, типа "А + В", а можно решить 5 задач, который выведут на новый уровень.
Насчет легких задач. Что вообще называют легкой задачей? Я вот выделяю два типа.
Представим себе человека, знакомого только с языком программирования, и больше ни с чем. Т.е. не участвовавшего никогда в олимпиадах. Дадим ему задачку вида "ответить на 100500 запросов суммы на отрезке". Или что-нибудь вида Шифровки с тимуса. Большой шанс, что задачу он не решит. Просто потому что у него нет навыков олимпиад, и он не знает про префиксные суммы или про применение стека. Наверняка многие из вас сталкивались с тем, что не знают какого-то популярного алгоритма и не решают из-за этого задачу. Однако для тех, кто хотя бы чуть-чуть знаком с олимпиадами, сложности такие задачи не представляют.
С другой стороны, подобный человек может решить задачу вроде сегодняшней A. Просто потому, что в ней не требуется никаких специфических приемов. Надо только аккуратно написать несколько условий, придумать которые может кто угодно, независимо от опыта в олимпиадах. И мне кажется, что в качестве A и B во втором дивизионе надо давать именно такие задачи.
Ну и в итоге что-то послала только треть из зарегистрировавшихся. На див1 и 2 А лучше уж дать задачу с виду простую, но с подвохом, чтобы послали почти все и как можно больше попало в рейтинг.
Я, кстати сказать, в соседней ветке написал Вам почти то же самое.
Меня задело за живое высказывание о том, что для новичков задача вроде сегодняшней Div2-A может быть слишком сложной. dalex уже объяснил выше, что подобные задачи вполне под силу людям, не имеющим опыта в СП. Добавлю от себя, что такие не совсем тривиальные ad-hoc задачи оказывают положительное влияние на тех, кто их решают.
А то что её сдали 3.5% участников не говорит что она сложная для див2 в целом? Уберем слово новички раз оно задевает) Задача нормально смотрелась бы даже на месте D
После проведения последнего муниципала области по информатике поймал себя на мысли, что простые задачи с подвохом лучше не давать на школьные олимпиады.
Участники ощутили сильнейший батхёрт после того, как их "подогнанная" формула в "как бы самой простой, не требующей спец подготовки задаче" получила 0 баллов.
И вообще хотелось бы узнать — как в регионах готовят задачи для местных школьников. Особенно, если потенциально регион очень слабый — стоит ли вообще опускать уровень задач до уровня плинтуса с учётом того, что на областной олимпиаде авторы задач для всей РФ унизят их в массовом порядке?
С одной стороны мы вроде как отбивать интерес к информатике не должны, но и собирать абсолютно случайных людей на области как то не хотелось бы.
Мне кажется правильным проводить reverse engineering начиная от вероятных решений участников и после этого пытаться понять, стоит ли давать задачу на тур.
У меня обычно получается так(из расчёта на 4 задачи):
Выходит, на мой вкус, интересно, а главное полезно. Более того, за все 4 года самым высоким делённым местом было шестое :)
При этом я совершенно не знаю среднего уровня участников — работаю углублённо только с теми 1-2 сильными, которые претендуют на попадание на всеросс.
Проблема как раз в том, что сколько не анализируй, а каждый год народ тупит на простых задачах. От того и задаемся вопросом — стоит ли давать совсем простые задачи или же пытаться подводить пару задач под уровень областного этапа.
Странная история — у наc регион гораздо слабее, чем Вологда, судя, например, по табличке. Может быть, у вас средний уровень не высокий, а такая статистика создаётся из-за одного-двух сильных участников?
Не о той ли задаче идет речь, где нужно было ответить на вопрос: "Может ли быть школьников в одной команде больше, чем в другой"? Там речь шла тоже про олимпиадные задачи, типа ученики школы 1 решили в сумме А задач, а ученики школы 2 решили в сумме В задач.
Нет. Вот ссылка на набор задач, которые дали в этом году.
Народ массово валился на задаче "Поезда" (она общая для всех классов). У неё есть очень простое, красивое, правильное решение формулой.
Да я смотрю у вас тоже не особо получается :-) А представьте, что было со школьниками с их одной попыткой сдачи.
Можно было бы дать ещё тест при N=2 и тогда люди бы подобрали правильную формулу почти наверняка, но тогда задача теряет всю свою красоту и не потребует от вас нормально сэмулировать процесс на бумажке или в уме.
Я много вариантов перепробовал.
Первая мысль — поделим N на 2 и дальше очевидно, что, начиная с N / 2 до N, каждые 0.5 будем встречать по одному поезду, но это не работало.
Вторая — (N + 2), но и это не работало.
Авторское решение под спойлером
А я хоть и зеленый, но сразу понял, что до выезда на трассе уже находятся N + 1 поездов идущих на встречу, а когда будет ехать из А в B на ней появятся еще N:) Но я уже не школьник:)
А что ты можешь сказать про сегодняшнюю D?
Это решается фенвиком с бинпоиском? Ну я бы не стал давать такое на D. Вообще структуры данных плохо заходят на D div 2. Слишком много народу остается сидеть и ничего не делать с тремя решенными задачами, потому что они не в курсе, как такое решать.
А вот мне кажется, что уже на С можно давать структуры данных, потому что это все-таки контест, а не урок информатики.
P.S. Не знаю можно ли так ее сдать, я решал по другому.
Да я вот посмотрел сейчас как ты решал (5470553). Это по твоему нормально даже для C div 2?
На мой взгляд главная идея задачи — это понять, что ассимптотически можно делать ее в лоб и уметь быстро удалять из массива. Первая часть — это не сложная идея, которая приходит в голову довольно быстро при наличии некоторого опыта. Вторая часть — это знание структуры данных. Что получаем в остатке: не сложная идея + реализация структуры данных. По моему это один из вариантов для задачи С, который имеет право на жизнь.
Может я и не прав, что оцениваю сложность задачи по идее, которую в ней нужно придумать.
я новичок,а структура в Вашем коде — ЭТО бинарное дерево?
Декартово дерево
Ну, про префиксные суммы человек, не знакомый с олимпиадами тоже может догадаться, идея не такая уж и сложная. Другое дело, что это может занять больше времени, чем можно себе позволить. Например, на реальном контесте у таких людей проблемы будут скорее с тем, что такие интересные, непростые, но всё же решаемые для них задачи, скорее всего, будут лишь подзадачами к чему-то более сложному ввиду "общеизвестности" таких алгоритмов. Вот уж здесь, скорее всего, у них действительно нет шансов.
.
Да, там был резкий скачок по уровню.
Но мы и сами поступили неверно: вместо того, чтобы собраться и обсудить все задачи, мы кинулись писать кактус, потому что "ааа, компьютер простаивает". В результате две идеи (сведение задачи D для нас с Димой было очевидно, а Паша знал про алгоритм двух китайцев) нашли друг друга только за час до конца контеста (когда стало ясно, что в C мы уже не верим), отдебажить мы не успели.
Да не предлагаю я ничего организаторам соревнований :). И про ранжирование участников мне все прекрасно понятно — я уже про это сам упоминал. Все мои предложения адресованы как раз самим участникам с маленьким опытом: я ставлю себя на позицию их тренера и открытым текстом говорю, что страдать фигней, решая большое количество халявок — это плохо.
Просто я изначально зацепился за крайне небрежно сказанную фразу г-на KirillB и рассказал о факте, который мне давно известен, но большинству новичков непонятен.
К сожалению, не у всех он есть на всех этапах их участия в СП. Вот такие участники, де-факто не имеющие тренера, предоставлены сами себе в плане выбора того, как развиваться. Кому-то, как мне, везет, и они делают относительно правильный выбор. Кто-то же, к сожалению, тупо пополняют сообщество вечнозеленых.
Звучит как рассуждения какого-нибудь обладателя первого разряда по шахматам, который сокрушается, что есть люди, которые иногда играют в шахматы просто так, не разучивая дебюты, не разбирая известные партии и даже свои не записывая и не анализируя. (Правда, в шахматах специального цвета для таких людей не придумали, и с таким смаком про серозеленых не порассуждаешь).
В шахматах придумали для таких людей первый разряд :)
Четвертый, наверно? (Или это у вас тоже высокомерие? По моим ощущениям первый по шахматам примерно соответствует здешнему бледно-красному.)
На самом деле в шахматы многие вообще без разрядов играют, вот где ужас-то.
Я в шахматы играл и знаю, как там обстоят дела. Мне кажется, что если сравнивать КФ и шахматы с позиции того, что человек умеет и знает, то первый разряд — это где-то синий цвет.
Ага, то есть уже синий, а не серозеленый. Думаю, вы и тут ошиблись, но это уже ближе. Не, мне тоже было бы приятно думать, что рыжый цвет тут, как пишут, соответствует званию "мастер" или "международный мастер", но как-то мало на то похоже, если честно.
Я тоже играла в шахматы, именно что для развлечения, два-три часа в неделю в школьном кружке (то есть примерно как сейчас на CF и TC). Ну, третий разряд у меня был. А первый был у пары человек в школе, при том, что они шахматами еще где-то занимались. Хотя это лет 15 назад было, может, в шахматах такая инфляция, что вы уже и правы? (Могу в это поверить, мой папа с давным-давно полученным первым разрядом и без особой практики моего почти ровесника кандидата в мастера примерно тогда же стабильно обыгрывал.)
Там серьезная инфляция. Те, кто получил разряд в СССР, играют намного лучше, тем те, кто сейчас его получил. И думаю, что счет в матче между ними будет сухим, понятно, в чью пользу. Я рос и видел, во что превращаются перворазрядники, и какие ошибки они совершают.
Есть, кстати, старые советские книжки, называются примерно "Подготовка юных шахматистов 1/2 разряда". Вот одна из них. Можно оценить по ним уровень того, что было тогда.
Ну человек получил месяц назад долгожданный красный цвет, и тут же обрел, видимо, кладезь методических непреложных истин для новичков, которыми он и спешит делиться.
Толсто! Красный цвет-то, ведь, не настолько и долгожданный (меньше трех лет).
Да и не тебе одному же делиться чем-то с сообществом :).
Не пойми меня неправильно. Я на этом ресурсе обитаю четвёртый год. Здесь периодически возникают посты, где в различные участники начинают объяснять, что надо делать, чтобы стать дико крутым.
Теперь утверждение. Я не помню ни одного подобного поста от первых топ-200 участников по рейтингу на этом ресурсе. Я даже, чтобы не быть голословным, пролистал блоги всех русскоязычных участников до 60 места. Подобными публикациями в основном страдают множество, скажем, самых словоохотливых и любящих пописать комментарии ради написания комментариев (ИМХО) известных всем личностей с этого ресурса. А вот, чтобы какой-нибудь абстрактный Пётр разливался мыслью по древу в формате:
Я солидарен с naagi в том, что сразу создаётся ощущение, что автор поста мнит себя ведущим методистом всея спортивного программирования. Всё как в поговорке, умный любит учиться...
Вот какие конкретно к автору претензии? Ты не согласен с его суждениями? Или ты считаешь, что писать свои мысли может только Пётр?
В конце концов, от куда новичкам без крутых тренеров узнать про более эффективные подходы, если не из подобных комьюнити? Жаль, что топовые участники не особо поддерживают подобные разговоры и учиться приходится у тех, кто готов помочь, а не у того, кто круче гор. Спуститесь уже на землю со своих "красных небес" и просто помогите другим стать лучше. А то ведёте себя иногда как озабоченные vip-школьники с кучей комплексов, а не как взрослые, достойные олимпиадники.
Да, я "зелёным" закончил универ и одна из причин — что я как раз предпочитал количество качеству задач. Я извлёк из этого урок и стараюсь помогать чем могу тем, кто только начинает свой олимпиадный путь чтобы он не повторил моих ошибок.
В качестве работы над ошибками я решил дополнительно изучать различные разделы пром. программирования дома ("на вырост", так сказать), даже если на текущей работе они мне не пригодятся и я без новых знаний могу укатывать все задачи качественно и в срок.
Передача опыта всегда была важна для развития общества во всех областях жизни.
Блин, откомментировал бы я, да правила ресурса на позволяют :).
Почитайте блог Ferlon-а. Там весьма неплохо написано про "красные небеса".
Я согласен с naagi и Zlobober.
А по поводу: "одна из причин — что я как раз предпочитал количество качеству" действительно одна и очевидно не главная.
По наблюдению, не у всех топов были крутые наставники. Топам всего лишь повезло с мозгами. И как доказал Ferlon, с природой трудно бороться.
С природой трудно бороться, но фактически, борьба с природой — это именно то, чем занимается человечество всё время своего существования. А прочтя этот комментарий, новички могут и вовсе свернуть с этого тернистого пути, потому что, видите ли, у Ферлона не вышло, а значит, он своим личным примером доказал: не можешь изначально — не лезь.
Тебе, например, хватило полгода, чтобы добраться до фиолетового цвета. А некоторые и через 3 года не могут сделать этого, даже если прорешают пол тимуса.
Видишь ли, первые вторым в этом случае ничего дать не могут.
Но это не значит, что вторые не должны уйти с "тернистого пути", если им нравится, то пожалуйста пусть решают ради фана (я так и делаю, хотя конечно в топы хотелось бы:)).
Я решал контесты редко и для фана (и об этом тоже жалею). Прям ходячий пример, как потратить кучу сил почти без результата :-). Никаких "цветовых" целей не было в принципе. Хотя, в последнее время уже часто навещают мысли, что пора уже из 2 Div вылезать, а то тут частенько 2 Div за людей не считают :(
Что-то Вы очень давно не писали контесты :)
А Ферлон стал фиолетовым практически сразу. Так что ж, может мне теперь решить, что раз у него не вышло, так у меня и подавна нет будущего и бросить это дело? :D
Кстати, никаких фиолетовых тогда и в помине не было. Из того, что показывается в якобы истории соревнований, правильные только числа. Звания и цвета же — переписывание истории в соответствии с текущими званиями и цветами.
Ты мне так тонко намекаешь на то, что я дурак...
Да, это так и есть. Я — дурак. Я учусь методом проб и ошибок.
Однако, мне искренне хотелось бы, чтобы дураков на свете было поменьше, поэтому мне совсем не жалко поделиться с другими людьми своим опытом. Чего хочешь в данной ситуации ты — я не знаю, да и мне это до лампочки.
Так или иначе, ты тут победил, я выхожу из дискуссии и тупо смотрю, как мой пост опускают в минус. Можешь радоваться.
О, есть план.
0) написать этот комментарий ради комментария;
а) прибавить двадцать рейтинга и таким образом попасть в топ-200;
б) написать единственную фразу в блог — как же на самом-то деле попасть в топ-200 рейтинга Codeforces.
Просто Вы злой, а Александр дело говорит. И то, что он пишет, очевидно даже для того, кто смог из серо-зеленых выбраться. Это я к тому, что он пытался высказать свою точку зрения, а не дать напутствие другим. Именно поэтому в заголовке написано "рассуждение".
Да и у кого перенимать опыт, если по Вашим данным никто из топовых участников не делится им? Или Вы считаете, что человек, который не до конца закрепился в красных, недостоин давать советы серо-зеленым?
.
А разве не злой тот человек, который унижает другого при всех? Тем более, сидя за компьютером.
Ну, я бы не был так категоричен, все таки быть "крутым чуваком" не является необходимым условием, чтобы излагать свое мнение по тому, как нужно развиваться (но стоит вопрос, как относиться к этим советам тем, на кого они обращены). Однако, если в изложении этого усмотреть покровительственный тон, то, справедливо, что этот пост не вызовет поддержки. И если говорить об этом посте, то, по-моему, там нет ничего содержательного. Не знаю, нова ли для кого-то мысль, что надо решать новые и сложные задачи, а не писать в 100й раз известные и простые :)