Contestant. Rank 2150. Rating -3. A. We Need the Zero 题意 给定序列 \(a\),判断是否存在一个数 \(x\),使 \((a_1 \oplus x) \oplus (a_2 \oplus x) \oplus ... \oplus (a_n \oplus x) = 0\)。若存在,输出这个数,否则输出 \(-1\)。 思路 很显然,异或是具有交换律的,也就是说,我们不妨记 \(p = a_1 \oplus a_2 \oplus ... \oplus a_n\)。 因为两个相同的数异或值为 \(0\),所以我们只需考虑 \(n\) 的奇偶性。 如果 \(n\) 为奇数,那么我们只需让 \(x = p\),否则就需要 \(p = 0\),不然无解。 时间复杂度:\(O(n)\) 对应AC代码 #include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> #d ...
Contestant(alt). 开摆Rank 5778. Rating -11(+89 -100). A. Beautiful Sequence 题意 给定一个序列,输出是否存在一个子序列,存在一个元素满足 \(a_i = i\)。 思路 显然,我们只需遍历一遍序列,找出一个 \(a_i\),满足 \(a_i \leq i\) 即可。 时间复杂度:\(O(n)\) 对应AC代码 #include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> #define fs first #define sc second const int N = 2e5 + 10, inf = 0x3f3f3f3f3f3f3f3f; void init(){} void solve() { int n; cin >> n; bool f = false; for(int i= ...
Contestant. Rank WASTED. Unrated. A. Are You a Robot? 题意 给定一个图片,输出图片里的单词。 思路 如图,为"\(security\)"。 头脑复杂度:\(O(0)\) 对应AC代码 #include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> #define fs first #define sc second const int N = 2e5 + 10, inf = 0x3f3f3f3f3f3f3f3f; void init(){} void solve() { cout << "security\n"; } signed main(){ ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); init(); int ...
Practice. A. Lucky Numbers 题意 此处给出 \(A\) 题和 \(C\) 题的定义: 对于一个数字,将所有位上的数取出,组成一个序列 \(a\)。定义 \(l = a_{\max} - a_{\min}\)。 那么, 给定一个区间 \([l ,r]\),\(l\) 的最大值对应的数就是最幸运数,最小值对应的数就是最不幸运数。 给定一个区间 \([l, r]\),输出任意一个最幸运数。 思路 首先,如果考虑幸运数,那么我们不难发现,我们只需关注十位和个位上的数即可,因为在这里就可以搞出最大值。 那么,暴力遍历 \([l, l + 100]\) 即可。 时间复杂度:\(O(100x)\) 对应AC代码 #include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> #define fs first #define sc second const int N = 2e5 + ...
Contestant. Rank 3058. Rating -35. 坐大牢局 A. Showstopper 题意 给定两个序列 \(a, b\),规定一次操作为任取 \(i\),交换 \(a_i, b_i\)。输出任意次操作后,是否可以让 \(a_n = \max(a_i), b_n = \max(b_i)\)。 思路 首先,既然最后方案我们无需考虑,那么我们不妨定义 \(a\) 为最小值的序列,\(b\) 为最大值的序列,那么只要满足上面的条件,就是有解,否则无解。 时间复杂度:\(O(n)\) 对应AC代码 #include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> #define fs first #define sc second const int N = 2e5 + 10, inf = 0x3f3f3f3f3f3f3f3f; void init(){} void sol ...
Contestant. Rank 2267. Rating +74. A. Probably English 题意 给定一个字符串序列,输出序列中是否包含下面的 \(5\) 个单词: \(and, not, that, the, you\)。 思路 如题,别打错即可。 时间复杂度:\(O(n)\) 对应AC代码 #include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> #define fs first #define sc second const int N = 2e5 + 10, inf = 0x3f3f3f3f3f3f3f3f; void init(){} void solve() { vector<string> mp = {"and", "not", "that", "the", "you"}; int n; cin ...
Contestant. Rank 2183. Rating -13. A. Garland 题意 给定 \(4\) 盏灯的颜色,颜色为 \([0, 9]\) 内的任意数字。初始状态所有灯均关闭,打开一盏灯的条件是之前打开的灯的颜色与其不一致,第一次可以打开任意一盏灯。输出将所有灯打开所需最小次数。 思路 首先,这题只有 \(4\) 盏灯。 所以,我们直接分类讨论即可。 我们先将灯按照颜色代码升序排序,那么如果第一个数和最后一个数相等,输出 \(-1\); 否则,前三个数相等或者后三个数相等时,需要 \(6\) 次; 否则,\(4\) 次足矣。 时间复杂度:\(O(4 \log 4)\) 对应AC代码 #include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> #define fs first #define sc second const int N = 2e5 + 10, inf = 0x3f3f3f ...
Contestant(alt). Rank 5166. Rating -27(+123 -150). A. Plus or Minus 题意 给定三个数 \(a, b, c\),判断 \(a+b = c\) 还是 \(a - b = c\),前者输出 \(+\),后者输出 \(-\),保证有解。 思路 如题。 时间复杂度:\(O(1)\) 对应AC代码 #include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> const int N = 1.5e6 + 10, inf = 0x3f3f3f3f3f3f3f3f; void solve(){ int a, b, c; cin >> a >> b >> c; if(a + b == c) cout << '+' << '\n'; else cout << '-' << '\n' ...
Contestant. Rank 2. Solved 4/8. A. ACM? 你也想打ACM? 题意 对于 \(n\) 道题,给定 \(k\) 个提交记录,规定罚时为 \(20\) 分钟,按照 \(ACM/ICPC\) 赛制计算通过题数和总用时。 思路 首先,没过的题不算罚时,过了的题重复提交无效。 因为题给数据是按照时间排序的,那么,我们不妨从前往后遍历,用数组记录当前的状态。 对于下面的 \(AC\) 代码,其中 \(ok_i\) 表示当前是否过了 \(i\) 题;\(a_i\) 表示第 \(i\) 道题最早是在 \(a_i\) 时刻通过的;\(p_i\) 表示第 \(i\) 道题在通过前 \(WA\) 了几次。 最后,我们遍历所有题,如果过题了,记录过题数,并将总用时加上 \(a_i + 20p_i\)。 时间复杂度:\(O(nk)\) 本题测试点数据量过大,java需要使用快读,cpp若使用cin需要关闭输入输出流同步 对应AC代码 (cpp) #include <bits/stdc++.h> using namespace ...