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

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

Всем привет!

Как многие могли заметить, недавно в рейтинге пользователей появилась закладка "Рейтинг друзей". Но это лишь первое из ряда улучшений, сделанных по вашим заявкам и не только. Теперь вы можете просматривать список друзей и команд с их участием в архиве задач, списке зарегистрированных на контест и в списке лидеров по вкладу. В связи с неуклонным ростом числа пользователей Codeforces (и, соответственно, размера страницы рейтинга) на ней был введён постраничный просмотр. Механизм подбора доступных для перехода страниц также был усовершенствован: теперь всегда доступны первая, последняя и несколько соседних с текущей.

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

Как видите, работа над проектом активно ведётся. Мы рады будем услышать от вас новые конструктивные пожелания. 


Добавлено:

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


Максим Шипко, команда Codeforces

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

14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
опиши пожалуйста, как пользоваться всеми новыми фичами (куда нажать и т.п.)

да, и пост на главную нужно отправить
  • 14 лет назад, # ^ |
      Проголосовать: нравится +3 Проголосовать: не нравится
    Для просмотра только друзей в различных списках достаточно войти в Codeforces.

    Теги добавляются в боковой панели на странице просмотра задачи. Увидеть текущий список тегов или сообщение, что тегов ещё нет, могут все. Если у Вас есть право на редактирование, то также будет доступна ссылка "Добавить тег", после чего достаточно выбрать тег в появившемся списке. Если права на редактирование у Вас нет, то вместо ссылки будет выведено соответствующее сообщение. В подсказке к нему будет указана причина.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
баг: задача "Интересный граф и яблоки" у меня отмечена зелёным, что означает, что она решена

теги к ней я добавить не могу, причина: "задача должна быть решена"

во вкладке "мои посылки" сабмитов по этой задаче у меня вообще нет
14 лет назад, # |
  Проголосовать: нравится +24 Проголосовать: не нравится
Очень удобно, спасибо, давно этого ждала=)! Ждем очередных удобных нововведений!
14 лет назад, # |
Rev. 2   Проголосовать: нравится +12 Проголосовать: не нравится
Какие-то странные теги. 2-sat вошла в число 30 самых частых?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Здесь примерно все основные темы из техминимума. Если что забыли - пишите.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    А почему нет?
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Ну, например, декартова дерева там нет. А 2-sat есть.
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Декартово дерево входит в структуры данных. Тем более я думаю 2-SAT не сложнее чем декартово дерево. Писать его точно меньше
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Бинарный и тернарный поиск почему-то в разных категориях, хотя задачи на структуры данных встречаются чаще, чем на поиск. А декартово дерево - это 15 строчек - вполне сравнимо с 2-sat. Кроме того, почему тогда нет категории "мосты", "точки сочленения" и т.п. Они тоже быстро пишутся, простые и не входят в структуры данных. А встречаются чаще, чем 2-sat.
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Думаю проблема в том, что пока нет чёткого определения того, что такое тег. И вряд ли такое когда либо появится. Потому что теги к теме задач это условность, которая может помочь в поиске задачи. Например если я захочу найти задачу на декартово дерево я буду искать тег структуры данных, а если на точки сочленения я буду искать по тегу графы.
            • 14 лет назад, # ^ |
                Проголосовать: нравится 0 Проголосовать: не нравится
              Ага, по тегу "графы" и по тегу "2-sat" :). Но эти то теги были как то выбраны? Если бы передо мной стояла задача выбора тегов, я бы взял такие, как в разделе "структуры данных и алгоритмы" или как вот тут или как тут. На самый крайняк, можно выдрать top 30 тегов из полигон. Другими словами, я бы использовал уже существующие теги, которые уже показали себя эффективными.

              Хотя то, что есть, гораздо лучше, чем ничего.
              • 14 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится
                Ну так получилось что выбор оказался не перед тобой((
                • 14 лет назад, # ^ |
                    Проголосовать: нравится +8 Проголосовать: не нравится
                  Цитата: "Мы рады будем услышать от вас новые конструктивные пожелания." MaximShipko.
                  Зато у меня есть право критиковать выбор :).
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
В 4 случаях из 5 ошибка 403
  • 14 лет назад, # ^ |
      Проголосовать: нравится +1 Проголосовать: не нравится
    Где именно? пришлите скриншот
    • 14 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Как только выбираешь тег, он начинает обновлять страницу и выдает 403. Скрин скоро будет.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      • 14 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится
        Можно было бы сделать вот так

        HTTP Status 403 -


        type Status report

        message

        description Access to the specified resource () has been forbidden.


        Apache Tomcat/6.0.26

        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Я еще не привык, что я в firefox и тут copy-paste работает. В хроме не работает до сих пор :(
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Странно, у меня в хроме сработало...
            • 14 лет назад, # ^ |
                Проголосовать: нравится +3 Проголосовать: не нравится
              У меня в хроме два спецэффекта:
              1. Он ставит в начало всех копи-пастов мета тег с кодировкой, что убивает все сообщение
              2. Почему-то окно редактирования html кода сообщения тоже не дает себя редактировать.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Кажется, теперь все нормально, спасибо.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Сейчас столкнулся в точности с такое же проблемой.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Поиск ещё не реализован, однако администраторы и пользователи с высоким рейтингом могут добавлять теги уже сейчас.---->

а с маленьким рейтингом нельзя? если да, то где граница?
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Почему-то в рейтинге друзей стоят рейтинговые баллы, которые были перед предыдущим контестом. 
После предыдущего контеста они снизились, а изменений в рейтинге друзей нет.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Что такое тег "Математика"? Состав тегов будет изменяться со временем?
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Значит задача - математическая. Да, если что популярное забыли - расширим.
    • 14 лет назад, # ^ |
        Проголосовать: нравится +1 Проголосовать: не нравится
      Можно чуть подробнее. Если математика в широком смысле, то все задачи математические (например, они имеют нечто общее с теорией алгоритмов). Если в узком, то ни одна, т.к. математические задачи не требуют реализации в виде алгоритма на конкретном языке программирования.

      Можете, например, привести пример явно математической задачи?
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        Вывод формулы. Практически любой.

        P.S. Про теги. Видимо есть опечатка (снп видимо подразумевался снм). из забыли могу только про суффиксные структуры заметить которых не нашел, но впрочем они не часто здесь появляются.
      • 14 лет назад, # ^ |
          Проголосовать: нравится +5 Проголосовать: не нравится
        Вывести значение определенного интеграла. Если задача сводится к дифуру и надо его решить, то тоже. Задача на принцип Дирихле. В некоторых задачах надо только вывести одну-две формулы и их набрать - это тоже хорошие кандидаты на наличие этого тега. Некоторые задачи по духу вообще ближе к математическим олимпиадам.

        Вообще, теги надо ставить примерно так. Предположим, вы прочли лекцию по некоторой теме, например, "Динамическое программирование" ("дп"). Так вот теги помогут слушателям найти те задачи, которые хорошо бы решить после лекции.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Если ставится тег "кратчайшие пути", надо ли ставить тег "графы"? И вообще будет ли вложенность тегов?

          Думаю, полезными будут теги "Heap/RMQ" и "Декартово дерево".
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Думаю самым полезным будет тег который можно написать самому, потому что все все равно не учтешь. Хотя может я не до конца понимаю задумку администрации.
            • 14 лет назад, # ^ |
              Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится
              Задумка в том, что за набором тегов должен следить один человек или небольшая скоординированная группа. Если дать пользователям право самим придумывать теги, то их сразу станет очень много, некоторые теги будут похожи друг на друга, появятся несколько вариантов написания, синонимы и т.д. В разных задачах на одну тему будут стоять разные наборы тегов и искать будет совершенно невозможно.

              В любом случае, вы можете предлагать свои варианты тегов. Они будут рассмотрены и добавлены в список в случае положительного результата.
        • 14 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится
          Ну и конечно сортировка тегов. Или по названию, или по темам, лишь бы не random_shuffle.
          • 14 лет назад, # ^ |
              Проголосовать: нравится 0 Проголосовать: не нравится
            Сейчас теги упорядочены в соответствии с их английским именем. В ближайшем будущем будет введён алфавитный порядок на каждом языке.
14 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится
Исправлен ли баг с отображением второй страницы друзей во время контеста?
14 лет назад, # |
Rev. 2   Проголосовать: нравится +8 Проголосовать: не нравится

Я являлся автором одного из контестов.

Зарегистрироваться на дорешку своего раунда не могу (при нажатии кнопки зарегистрироваться ничего не происходит, страница просто обновляется и появляется все то же предложение зарегистрироваться на дорешку). Хорошо было бы добавить какое-либо информирующее сообщение.

При отправке решений из под архива появляется сообщение о том, что решение принято на проверку, но в "статусе" решения нету и на задаче появляется красная метка ("Задача не решена").

Это все ведет к тому, что для своих задач я не могу установить тэги (требуется решенность задачи) =). С другими контестами подобных проблем не возникает.

14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Hello. It is very important for the site to grow. The new functions will be fun :)

But there is one thing that I could suggest. The function which allows to disable showing tags for problems would be very apprioprate. It is eassier to solve a problem when you know the type of it. But in real contests we do not know their types.

However, sometimes it is more important to practice on certain problem types. Then the user could choose to show tags.

I would leave that as a private option for every user.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Баг или фича?

Положение друзей в архиве - № всегда 1..n.
В рейтинге же показаны реальные места.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
what is the difference between "number theory" and "math" tag, and my second question is that for practicing number theory problems can I practice problem from Topcoder under the "math" tag ?
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
тэг "ad hoc"?
14 лет назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится
Hi MaximShipko,

Please check this blog post. Hope that bug was fixed.

I have noticed that some of the filtered tables which show the list of friends are given new ranking (#1,2,3... etc) in but others like in the rank list and contribution list which show the overall ranking of every friend (or me) but doesn't show the rank among my friends. Could you add both?

I also wonder, when will Codeforces add column-sorting feature for these tables.

Thanks for this appreciated updates :)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    "New ranking (#1-#n)" is a bug. We'll fix that in near future.

    What column? Handle? The tables are already sorted by rank/number of solved problems/rating etc.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      No, I didn't mean in these simple tables but for complicated ones like the contest scoreboard. I hope you can add country filtering and a column for country in most tables.
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
What does "dsu" stand for?
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Прикольная вещь) Спасибо большое!
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Прикольная вещь) Спасибо большое!
14 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится
RSS feeds with recent actions, latest blog posts or both would be of great use.
14 лет назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится
Баг: 
Если попытаться пройтись по ссылке
  • 14 лет назад, # ^ |
      Проголосовать: нравится +6 Проголосовать: не нравится
    Точнее, если на последней странице результатов проблемсета попытаться нажать "только друзья"
14 лет назад, # |
  Проголосовать: нравится -11 Проголосовать: не нравится
regarding the problem tags, wouldn't it be better if we could see the tag before opening a problem. This way, suppose we want to try dp problems, we could just see the tag and open the required problem instead of opening each problem and looking for the tags.
14 лет назад, # |
Rev. 5   Проголосовать: нравится +8 Проголосовать: не нравится
Can you also fix this problem:

When you double-click on a submission from a contest, it opens a popup with all the solutions submitted and the relatives IDs. When you click on an ID you're automatically "transported" to the top of the page: only then, the code appears... but then if you want to see other submission of the same user you must first close the popup, and then search manually again the name of the user (I use ctrl+g) to go back to the position occupied by that user. Obviously, there's no problem looking for solutions of the top-scorer users (cause they are visible on the top screen). And there's no problem if you open the submission and click the "X" (or click outside the popup), but in this way you will obviously not see the code.

Hope you understand what I'm talking about. I'm using Google Chrome but I also encountered the same problem with Firefox and IE.

I think the problem is related to the html tag of the "ID":

00:06:01  Accepted  123456

As you can see, there's a blue link. When you click it, you encounter the problem.
That link, has an html tag ( href="#" ), I think this is the problem.

On a website i made, i used these popups but I used this approach:

<.... onclick="ShowMyPopup()">

without using any href field.

This leads to a correct display of the popup, without being "transported" back to the top of the page.

The only bad thing was that the cursor of the mouse, when passing over the link, doesn't change its shape (it remains a simple arrow instead of the classic "link-style" pointer)

I solved this problem with a trick:

<.... onclick="ShowMyPopup()" class="noClick">

Where "noClick" class has these CSS proprerties:

.noClick {
	display: block;
	cursor: pointer;
}

So, in that point of the screen, it forces the cursor to be a pointer.
I would like very much if you solve this annoying problem.
- - - - -
UPD:  It is also possible to leave unmodified the href field (with the #)
but then it's necessary to prevent the browser to bringing the user up to the top of the page.
This can be achieved by this wonderful jQuery API http://api.jquery.com/event.preventDefault/
Take a look at that, there's also a Demo
(you click a link with href tag, but the script prevent the default event and writes 'default click prevented') ! :)
14 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится
Что означают тэги "конструктив" и "кто"? Можете привести примеры задач, к которым их можно поставить?
  • 14 лет назад, # ^ |
    Rev. 3   Проголосовать: нравится +8 Проголосовать: не нравится
    КТО - Китайская теорема об остатках
    конструктив - видимо всяческие задачи, где нужно привести некий алгоритм перекладываний или вывести граф, удовлетворяющий каким-то свойствам и т.д.
    обычно там не очень много кода, в основном - вывод например: http://codeforces.net/contest/41/problem/E
    PS Сорри если я оказался кэпом :D
14 лет назад, # |
Rev. 3   Проголосовать: нравится 0 Проголосовать: не нравится
It's possible to make a feature that hides the tags?

Sometimes it ruins the fun.
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    "Updated:

    In the near future will be implemented a compact view of tags in the problemset and a setting to show/hide tags."

    This is mentioned in the blog post above.

14 лет назад, # |
Rev. 2   Проголосовать: нравится -6 Проголосовать: не нравится
Хотелось бы, чтобы команды, в составе которых есть твои друзья, тоже в списке друзей отображались
14 лет назад, # |
  Проголосовать: нравится +8 Проголосовать: не нравится
can the problem tag set to automatically hidden?

i think it's not a good idea to see the tag while you are thinking...
  • 14 лет назад, # ^ |
      Проголосовать: нравится -8 Проголосовать: не нравится
    You can do that in settings page.
    • 14 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится
      Thank you.
      Your comment helps me very much :D
      • 14 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится
        you are welcome. In fact it would be better if the tags are "hidden" and if you are still don't know how to solve the problem you can click somewhere to show the tags. That would avoid potential spoilers.
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
MaximShipko, может вам стоит быть здесь в официальных лицах на cforces.reformal.ru?

Тогда сможете изменять статус у предложений: Ожидают рассмотрения > Запланированы > Делаются > Выполнены || Отклонены, тем самым радуя нас тем, что что-то делается и уменьшая здесь комментарии и темы "А когда же здесь появится ЭТО или ТО". :-)
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    Кажется, там и так неплохо справляются :)
    По крайней мере, темы про рейтинг друзей я в топе больше не наблюдаю. Обо всех изменениях будет сообщаться в официальных блогах (то есть здесь). Никакого смысла даблпостить на Реформале я не вижу.

    Что же касается приведённых ниже идей, всегда пожалуйста. Если они наберут достаточное количество сторонников, то обязательно внедрим.
14 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится
Заодно напишу свои новые предложения и интересные на мой взгляд старые, дабы форсоюзеры могли обратить на них внимание и поддержать меня:

Тег [code] в WYSIWYG
Сейчас есть html-костыль. Добавить казалось бы не долго, а было бы очень удобно.

Обязательное заполнение Страны и ФИ[О]
ФИО даже пускай придумывают, и страну указывают Антарктидой (как на тимусе :D), но хоть статистика лучше будет.

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

Поиск по отправленным решениям
Сделать поиск по полям хэндл, язык программирования, соревнование, конкретная задача, [v] во время соревнования, и соответственно к этому постраничный просмотр и сортировки.

Отображанение второй страницы друзей
Старый баг, часто писали о нём, вроде бы ещё не поправлен.

Возможность переголосовать
Например если сообщение/тема поменялось.

Добавление закладок - избранное
Да-да, есть закладки браузеров и всё такое, но я всё же За нативную функцию.

Сделать три вида блогпостов: публичные, личные и закрытые
Писал об этом тут http://codeforces.net/blog/entry/1478

Индивидуально устанавливать нижнюю и верхнюю границы на графике рейтинга
Казалось бы тоже пустяк, а будет красиво.

Извините, если мы просим много. :-)
Спасибо за то, что уже сделано!
14 лет назад, # |
Rev. 2   Проголосовать: нравится -12 Проголосовать: не нравится
Я предлагаю уменьшить список тегов, и чтобы теги участники добавлялись только тогда, когда (например) 10 участников, решивших эту задачу (или имеющих высокий рейтинг) указали что задача относится к данному тегу(и примерно ту же систему для их удаления).

ЗЫ сорь за оффтоп, но что означает 2-sat?
  • 14 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится
  • 14 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится
    1. А вы можете чем-то обосновать наобходимость уменьшения списка? Существует огромное множество разных тем и некоторые пользователи считают, что тегов даже мало.

    2. Есть и более интересные способы установки тегов общественностью. Мы же решили сделать установку максимально простой, и пока система вполне себя оправдывает. Нет необходимости необоснованно всё усложнять. Это не нужно ни разработчикам, ни пользователям.
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
хммм.. если везде ввели постраничный просмотр, почему бы его в архиве тоже не реализовать? а то список тасок уже довольно длинный, а дальше - больше :)
14 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится
Очень печалит бага, что я не могу отправить решение файлом, если в пути есть кириллица (вроде причина в этом).

"f:\Мои документы\Visual Studio 2008\Projects\ACMTimus\CFBR_58\code.cpp"

Поле не может содержать двоичные данные
»
12 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

What do problems with implementation tag entail? I have not been able to find the answer somewhere else. I will appreciate someone's help.