1944(div2)
A. Destroying Bridges
有
Everule 住在
如果 Dominater 以最佳方式摧毁桥梁,求 Everule 可以访问的岛屿(包括岛屿
易得:当
void solve() {
int n, k;cin >> n >> k;
if (k >= n - 1) {
cout << 1 << '\n';
} else {
cout << n << '\n';
}
}
B. Equal XOR
给你一个长度为
同时给你一个整数
你需要找出两个长度分别为
是 的子集 。 是 的子集 满足: 是 的子集。
可以证明,至少有一对
可以知道,每次输出的
void solve() {
int n, k;cin >> n >> k;k *= 2;
map<int, int> ma, mb;
for (int i = 1;i <= n;i++) {
int x;cin >> x;ma[x]++;
}
for (int i = 1;i <= n;i++) {
int x;cin >> x;mb[x]++;
}
vector<int> ans1, ans2;
for (auto [x, y] : ma) {
if (y == 2) {
ans1.push_back(x);
ans1.push_back(x);
}
if (ans1.size() == k)break;
}
for (auto [x, y] : mb) {
if (y == 2) {
ans2.push_back(x);
ans2.push_back(x);
}
if (ans2.size() == k)break;
}
if (ans1.size() < k) {
for (int i = 1;i <= n;i++) {
if (ma[i] == 1 && mb[i] == 1) {
ans1.push_back(i);
ans2.push_back(i);
}
if (ans1.size() == k)break;
}
}
for (auto i : ans1)cout << i << " ";cout << "\n";
for (auto i : ans2)cout << i << " ";cout << "\n";
}
C. MEX Game 1
爱丽丝和鲍勃在大小为
轮到爱丽丝时,她从
轮到鲍勃时,他从
当数组
可以知道,当数组某个数字没有的数字时,
void solve() {
int n;cin >> n;
map<int, int> mp;
for (int i = 0;i < n;i++) {
int x;cin >> x;mp[x]++;
}
int re = 0;
for (int i = 0;i <= n;i++) {
re += mp[i] == 1;
if ((re == 2) || mp[i] == 0) {
cout << i << '\n';return;
}
}
}
D. Non-Palindromic Substring
如果至少存在一个长度为
给你一个长度为
- 给定
和 ( ), 求 的值。
Solution
Manacher 算法
待到学习字符串算法时再来
P4555 [国家集训队] 最长双回文串 - 洛谷
看不懂
(待更