1.Bad Hair Day S
手写单调栈
一种数据结构,以栈(stack)为基础,但要保持栈的单调有序,每次压入时,把比要压入数据小的弹出(while循环判断注意empty)。
如图:
要压入7 先弹出5,3 在压入7.
|....|...|....|...|....|
|3..|->|....|->|....|
|5..|...|....|...|7..|
|10|...|10|...|10|
此题,用单调栈模拟,就简单极了,枚举每一头牛,压入后队列长度减一,就是能看到它的牛的数量。
2.AVOGADRO
标签是队列,但我偏不用队列 我用的是枚举,代码很好写,但我水不过去复杂度 O(n2)(n<=105),于是我想到了桶,便能把O(n)的查询变成O(1)的
桶思想能大大减少时间,我不想考虑空间但会增加空间
3.木材仓库
本是set水题,但我过不去,就自学了———— 迭代器
setiterator::(名字);
约等于指针,但可以在set上用,十分方便,用法和指针类似(——前移,++后移)。
于是他错误的点名开始了
map模拟,两个字
简单!