引入
很高兴大家参加我们的比赛,这里是「笙」的题解。
code
由于是比赛题就不上代码了。
分析
1.
1.
1. string
:STL中字符串
<1>.string s
:定义一个叫s
的字符串。
<2>.s.size()
:返回s
的长度。
2.
2.
2.set
:STL中集合(红黑树的一种)
<1>.set <集合元素类型> ds
:建立一个名叫ds
的集合。
<2>.ds.size()
:返回ds
中的元素个数。
<3>.ds.insert(x)
:在集合中插入x
(有序),如果x
已存在则什么也不干。
<4>.ds.erase(x)
:在集合中删除x
,如果x
不存在则什么也不干。
<5>.ds.begin()和ds.end()
:前者是集合首地址,后者是集合末地址 +1。
<6>.set <集合元素类型> ::iterator it=地址
:建立一个指针it
指向某一地址。
<7>.ds.find(x)
:查找在集合中的地址,找不到则返回ds.end()
。
int n,tmp;
set <int> ds;
cin>>n;
for(int i=0;i<n;i++){
cin>>tmp;
ds.insert(tmp);
}
set <int> ::iterator it=ds.end();
it--;
cout<<*it;//注意要加 *号
例如上述代码片,当输入是4 2 4 3 1
时,输出是4
。可见,尽管输入是无序的,但在集合中是有序的。
3.
3.
3.map
:映射表
map <A,B> ds
:建立一个叫ds
的,下标类型为A
,元素类型为B
的映射表。
end
This is the end,thank you for reading! \text{This is the end,thank you for reading!} This is the end,thank you for reading!