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

Автор k06a, 14 лет назад, По-русски
Построил в MS Excel график зависимости числа участников от количества решенных ими задач (по данным на 10 января 2011). Прологарифмировал график по обеим осям. Результаты довольно интересные.
Исходный график:


Прологарифмировал по числу участников:


Прологарифмировал по числу задач:


Прологарифмировал по обоим параметрам:

График получился таким "дерганым" на конце из-за того, что log10(1) равен 0.

P.S.
Идея построения этих графиков навеяна статьей Эрика Липперта:

Еще график распределения рейтинга по местам по порядку:


И логарифмический по месту в рейтинге:


И тот же график, но с сеткой:

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

14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
А можно график места участника от числа решенных задач?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Для этого потребуется скрипт писать, чтобы "сграбить" необходимые данные с CodeForces. Данные для графиков были взяты с одной таблицы со страницы http://codeforces.me/problemset/standings
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Не отказался бы узнать самый быстрый способ получать такие списки.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Самый быстрый - запустить скрипт :)

          А если серьёзно, то пару месяцев назад я баловался построением гистограммы распределения участников по рейтингу, а скрипт остался.

          Вот моя поделка.

        • 14 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится
          Самый быстрый, который я знаю (если нет prewritten скрипта) это открыть html файл с таблицей прямо в Excel-е. Потом скопировать только саму таблицу на другой лист и сохранить в формате csv.
        • 14 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
          Когда мне надо распарсить кучу хтмля я использую связку python+lxml+xpath. Причем, можно прямо в строке ipython'a если сам скрипт для истории не нужен.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        По вашим данным построил график распределения рейтинга по местам по порядку.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Впечатляет. Похоже можно классифицировать топовых участников, как участников из первого изгиба, т.е. примерно до 500 места в данном случае.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Еще, если можно, можно добавить логарифм по баллам. Должно быть показательно.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Сейчас, кстати, любопытно верхушка рейтинга выглядит: впереди 9 "настоящих полковников" с рейтингом >= 2270, а потом вдруг "дыра" в 71 единицу рейтинга.
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            После tourist'a тоже вообще-то дырочка неслабая...
            • 14 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Сейчас уже нет то. Только 50 пунктов. До последнего контеста под 100 было вроде.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Первый график очень похож на график, построенный по сингулярным числам SVD матрицы.
  • 14 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Можно ссылку на график? Для чего используются SVD матрицы в двух словах?
    • 14 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится
      http://img37.imageshack.us/img37/5866/46843436.png
      SVD - Singular Value Decomposition - Разложение по Сингулярным Числам.
      Матрица разлагается на произведение трёх матриц, средняя из которых диагональная. Диагональные элементы располагаются по убыванию. SVD имеет несколько применений. Например, количество ненулевых сингулярных чисел равно рангу матрицы.
      • 14 лет назад, # ^ |
          Проголосовать: нравится +3 Проголосовать: не нравится
        Я имел виду ссылку на график "построенный по сингулярным числам SVD матрицы". Надо бы почитать для души про SVD . . .
        • 14 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится
          А! Сейчас под рукой нет ни готового графика, ни возможности запустить программу, которая его строит. Если действительно интересно, то выложу пример графика попозже. Про SVD много написано в учебниках по вычислительной математике.
        • 14 лет назад, # ^ |
            Проголосовать: нравится +3 Проголосовать: не нравится
          http://easimonenko.narod.ru/olympiads/g1.png
          http://easimonenko.narod.ru/olympiads/g2.png
          Пример графика, построенного на сингулярных числах чёрно-белого изображения. Различия только в осях.