Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 
Вернуться
Тема: как найти позицию элемента x внутри set?
1
  1  Цыкин Святослав Витальевич, 15 мая 2017 г. 11:58:08
      просто лень писать Фэнвика
  2  Хворых Павел, 15 мая 2017 г. 11:10:52
      Но мне кажется, что она вам вряд ли нужна. Во всяком случае, я не могу вспомнить задачу, которую нельзя было бы решить без подобной структуры данных.
  3  Хворых Павел, 15 мая 2017 г. 10:48:04
      set не поддерживает такую операцию, только бежать итератором.
Однако, в g++ есть нестандартная коллекция tree, которая при определенной настройке начинает поддерживать не только все операции set, но и операции поиска элемента по позиции (find_by_order) и позиции по элементу (order_of_key).
Пример использования: http://ideone.com/lzLOSy
Более подробные объяснения: http://codeforces.com/blog/entry/11080
  4  Цыкин Святослав Витальевич, 15 мая 2017 г. 3:34:43
      это не работает: int(s.find(x) - s.begin())
а бежать итератором по всем элементам неэффективно
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2017, ICQ: 151483