abc 311 C
n 个点 n 条边,每个点连出度为 1
一定有环,想要找到一个环,只要随便一个点,向下一个一直遍历,就可以找到环内的点
abc 310 C
实现字符串翻转
auto t = string(s.rbegin(), s.rend());
reverse(s.begin(), s.end());
abc 309 C
又是一个经典的二分,甚至可以用前缀和优化,和之前一道二分题(ABC 312C)一样,要注意二分的右边界
abc 308 C
// 快排实现排序的稳定性,由于实际的序列在排序时不变
vector<int> p(n);
iota(p.begin(), p.end(), 0);
sort(p.begin(), p.end(),
[&] (int i, int j) {
auto x = 1LL * a[i] * (a[j] + b[j]);
auto y = 1LL * a[j] * (a[i] + b[i]);
if (x != y) return x > y;
return i < j;
});