Day8 思路

T1

思路:将a~z看着26进制数,题目是1-26,需要偏移一位到0~25.

T2

枚举和模拟

思路:找到一个hi != 0xi,yi,hi,代入题目公式得: ch = hi + abs(xi-cx) + abs(yi-cy)

枚举Cx和Cy的值,算出ch的值,用ch的值验证剩下n-1条信息的hi是否成立。 hi = max(ch - abs(xi-cx) - abs(yi-cy), 0)

T3

bfs模板题,起点终点任意,枚举所有的可行坐标作为起点和终点,求所有起点和终点的 最短路,取一个最大值。

T4

简单数学,排序后答案为 中间两个数的差。

T5

用multiset进行有序序列的维护:

multiset常用操作:

multiset<int> s;
(1)插入一个数x到多重集合中:s.insert(x)
(2)删除多重集合中的所有x:s.erase(x)
(3)删除多重集合中的一个x:s.erase(s.find(x))
(4)s.lower_bound(x) 返回 >= x的第一个元素迭代器
(5)s.upper_bound(x) 返回 > x 的第一个元素迭代器
(6)s.begin()  指向第一个元素的迭代器
(7)s.end()    指向最后一个元素后一位的迭代器

迭代器可以理解为数组下标,但实际上他是一个地址,所以 要取得迭代器对应的值,需要用 * 解除引用。

0 条评论

目前还没有评论...