Блог пользователя tamir

Автор tamir, 12 лет назад, По-русски

Здравствуйте дамы и господа ! Мне требуется ваша помощь . Объясните , что нужно сделать или кого нужно попросить , чтобы найти себе тренера. Я ( школьник ) готовлюсь к различным олимпиадам по информатике и решаю задачи на данном сайте. Но иногда возникают трудности с решением,пониманием задач ( даже разборы и коды других участников не помогают ) Вот по вышеизложенной причине ищу себе наставника.

  • Проголосовать: нравится
  • +5
  • Проголосовать: не нравится

»
12 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

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

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится

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

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +7 Проголосовать: не нравится

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

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Например 135B - Прямоугольник и квадрат не могу понять суть решения и возникают трудности при реализации.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Перебираем все варианты, проверяем, образуют ли 4 точки прямоугольник/квадрат. В чем проблема?

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
            Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

            Проблема в реализации проверки.Такие проблемы частенько возникают. Спасибо за разбор)

»
12 лет назад, # |
  Проголосовать: нравится +5 Проголосовать: не нравится

Это типа "**Адекватный школьник ищет неадекватного тренера"**?

Или наоборот?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Просто ава мне понравилась,вот я её и выставил. А я , вроде бы , адекватный парень )

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится +5 Проголосовать: не нравится

      UPD Решай acmp.ru) На CF в общем-то уже соревноваться надо, показывать то, что уже знаешь, ну и приемчики на вооружение брать. Реши 300+ задач непосредственно для школьников (и с использованием разборов, и всяких разных шпаргалок, так даже лучше) и все вопросы твои отпадут. А если уж это не поможет, то тогда наверное и имеет смысл обращаться за помощью к действительно ТРЕНЕРУ, который бы скорректировал твою подготовку. Если хочется подтверждений — можешь посмотреть на корреляцию моих результатов здесь и статистикой на acmp) Ну или даже вот. И конечно надо разбирать алгоритмы готовые, теорию (формулы и др.), на соображалке одной не вытянешь (а без тренировок не сможешь закодить даже то, что знаешь).

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Конечно же , я решаю , но иногда возникают трудности и некому мне помочь.Поэтому я ищу тренера.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Что я понимаю под приемчиками — например надо определить, есть ли в массиве хоть один элемент, удовлетворяющий условию (пусть > 0).

        int chk = 0;
        for(int i = 0; i < n; i++) chk += a[i] > 0;
        if (chk > 0) ...
        

        вроде бы банальный метод, однако с использованием операций & ^ он может стать обалденно мощной штукой) ну и без знания подобных примитивов в коде начинают появляться такииие демоны...

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Спасибо за советы )

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

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

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            Ну если смотреть на вашу статистику по прошлым раундам, то 3 задачи это не так плохо, это раз. По чесноку я тоже успел написать build(), но когда заметил (a[i] <= a[i+1]) понял, что здесь что-то не так, представил, и увидел что делать. Собсно, о чем я — вам стоит убедиться в том, что проблема именно в соображалке) Я видел что и желтые решали деревом отрезков, это просто недостаточный реверс-инжиниринг условия) Зачем давать дерево отрезков на задачу А див1? Ну кому это в голову придет? Задача А див2 это всегда до чего-нибудь догадаться и подсчитать. В див1 обычно нужна какая-то формула и небольшая надстройка над ней в виде алгоритма простенького, или просто надо как-то особенным образом выбрать значения, которые в нее подставить. Но если вам все же интересны те способы развития креативности, о которых я знаю — надо заставлять мозг делать привычные дела непривычными способами, тогда он начнет изыскивать больше путей решения различных задач (он ведь всегда аналогии с приобретенным опытом простраивает). Я раньше этим увлекался, даже моторику левой руки развил, таблицами Шульте баловался, еще там разными вещами, не знаю уж, как мне это помогло мне) Можете и вы попробовать, но на мой взгляд для успехов в конкретной области все же лучше просто более внимательно относиться к мелочам, разбирать все что непонятно и не висеть на месте (но это скорее следствие искренней заинтересованности).

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +5 Проголосовать: не нравится

            Никак. По себе знаю.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

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

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится

            Вообще сложность алгоритма оценивается без учета коэффициентов, так что можно и до конца пробежать (поиск элемента в не сортированном массиве это ведь O(N)). Ущерб в виде некоторого кол-ва проверок, выигрыш в унификации, меньше шанс запутаться. Но если у меня будет TL68 я конечно начну решение просовывать и делать разные таки вот оптимизации) По поводу посчитать при построении — идея, думаю если бы такая возможность была, то приведенного выше кода у меня бы в решении и не появилась)

            • »
              »
              »
              »
              »
              »
              »
              12 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится

              А о каком конкретно решении идёт речь, что вычисление "на лету" считается негодным?

              • »
                »
                »
                »
                »
                »
                »
                »
                12 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится

                Я, наверное, не готов сейчас для полезной дискуссии на эту тему, но скажу — думаю ни один способ не может быть признан негодным, если работает. Просто я выражал свою мысль и извлек из памяти нечто удобное, что было мной замечено в своем стиле написания кода. Еще очень часто у меня появляется int ans ближе к концу (если решение в несколько этапов). А в самом конце cout << ans, хотя обычно пользуюсь printf) А вот точно — пока ответ писал понял зачем я делаю так — можно ведь исправить += на *= и тогда уже будет проверка на удовлетворение условию для всех элементов массива.