- 李强凌 的博客
七月day8
- @ 2025-7-22 21:07:45
T1
思路
这题就是有点模拟26进制的题
只是要注意,n/26之前要n--,因为初始'a'-'z'下标为1—26 但需要的下标是0—25
错因
没有n--,并且while循环写错了。
T2
思路
找到一个hi!=0的习。公式是
$$高(ch)=中心高(hi)+abs(所在的行(xi)-中心所在的行(cx)+abs(所在的列(yi)-中心所在的列(cy)$$倒退就是$$hi=max(ch-abs(xi-cx)-abs(yi-cy), 0)$$
枚举cx和cy,验真cx,cy是否成立。
错因,没思考出来。
T3
思路
bfs的做法,跟模板一样,但要枚举起点和终点,同时找出当中的最大值。
错因,
bfs虽然写对了,但是枚举写错了,导致0。
T4
思路
就是一道数学题,先排序,随后用中间的那两个数相减($$a[n/2+1]-a[n/2]$$),差就是答案。
T5
思路
运用 multiset set 来做,使用multiset进行有序序列维护,使这题的难度大幅度降低。 s.insert(x) 当容器中没有等价元素的时候,将元素 x 插入到 set 中。
用法如下
s.erase(x) 删除值为 x 的所有元素,返回删除元素的个数。
s.clear() 清空 set。
s.count(x) 返回 set 内键为 x 的元素数量。
s.find(x) 在 set 内存在键为 x 的元素时会返回该元素的迭代器,否则返回 end()。
s.empty() 返回容器是否为空。
s.size() 返回容器内元素个数。
注 multiset set没有下标
错因,我是用的sort排序,不仅超时了,也没写对。