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模拟,两个字

简单!

posted on 2024-03-21 15:19  Grylls_117  阅读(5)  评论(0编辑  收藏  举报