给STL容器提供pair类型的哈希函数
// 提供哈希函数
struct pair_hash {
template <class T1, class T2>
std::size_t operator() (const std::pair<T1, T2>& p) const {
auto hash1 = std::hash<T1>{}(p.first);
auto hash2 = std::hash<T2>{}(p.second);
return hash1 ^ (hash2 << 1); // 组合两个哈希值
}
};
unordered_set<PII, pair_hash> st;