CodeForces 1243"Character Swap (Hard Version)"(multimap)

 

传送门

 

•前置知识-multimap的用法

  $multimap$ 与 $map$ 的区别在于一个 $key$ 可以对应几个值;

  对于 $map$ 而言,一个 $key$ 只能对应一个值,并且按照 $key$ 升序排列;

  而 $multimap$ 的一个 $key$ 可以对应多个值,并且按照 $key$ 升序排列;

  但是,相同的 $key$ 对应的多个值按照插入的顺序排列,不会自动排序;

  • 定义:$multimap<char ,int >f$
  • 插值
    • $f.insert(make\_pair('a',10))$
    • $f.insert(make\_pair('a',20))$
    • $f.insert(make\_pair('a',15))$
    • $f.insert(make\_pair('b',10))$
  • 遍历相同 $key$ 的所有值
    • $for(auto\ it=f.equal\_range('a').first;it\neq f.equal\_range('a').second;++it)\\ cout<<(*it).second<<endl;$
posted @ 2019-11-07 11:21  HHHyacinth  阅读(277)  评论(0编辑  收藏  举报