Codeforces Round #647 (Div. 2)】的更多相关文章

Problem A https://codeforces.com/contest/1362/problem/A 判断x/y是不是2的k次方, 如果是 k/3 + (k%3)/2 + (k%3%2)即为答案 #include<bits/stdc++.h> using namespace std; #define ll long long ll log2(ll a) { ll count = 0; while (1) { if (a >>= 1) count++; else break…
题目链接:https://codeforces.com/contest/1362/problem/D 题意 有一个 $n$ 点 $m$ 边的图,每个结点有一个从 $1 \sim n$ 的指定数字,每个结点染与它相邻的结点中最小的未染过的正整数,问是否存在某种顺序可以将所有结点染为指定数字,如果存在,输出染色顺序,否则输出 $-1$ . 题解 边数最多为 $5 \times 10^5$ 而不是 $n^2$,所以逐点 $bfs$ 的复杂度最大为 $10^6$,模拟即可. 代码 #include <b…
题目链接:https://codeforces.com/contest/1362/problem/C 题意 计算从 $0$ 到 $n$ 相邻的数二进制下共有多少位不同,考虑二进制下的前导 $0$ .($1≤n≤10^{18}$) 题解 逐位考虑.因为值是连续的,所以从右至左第 $i$ 位的 $01$ 周期为 $2^i$ .计算出完整的 $01$ 周期个数 $t$,每个完整的周期内有一对 $01$ 相邻,相邻的完整周期间共有 $t - 1$ 对 $01$ 相邻,然后考虑多余的周期长度,如果之前有完…
题目链接:https://codeforces.com/contest/1362/problem/B 题意 有一个大小及元素值均不超过 $1024$ 的正整数集合,求最小正整数 $k$,使得集合中的每个元素异或 $k$ 后得到的新集合与原集合相等,若这样的 $k$ 不存在输出 $-1$ . 题解 数据范围较小,枚举即可. 代码 #include <bits/stdc++.h> using namespace std; void solve() { int n; cin >> n;…
题目链接:https://codeforces.com/contest/1362/problem/A 题意 有一个正整数 $a$,可选择的操作如下: $a \times 2$ $a \times 4$ $a \times 8$ $a\ /\ 2$,如果 $2$ 整除 $a$ $a\ /\ 4$,如果 $4$ 整除 $a$ $a\ /\ 8$,如果 $8$ 整除 $a$ 问能否由 $a$ 得到正整数 $b$,以及最少的操作次数. 题解 贪心模拟即可. 代码 #include <bits/stdc+…
题目链接:A.Johnny and Ancient Computer 题意: 给你两个数a,b.问你可不可以通过左移位运算或者右移位运算使得它们两个相等.可以的话输出操作次数,不可以输出-1 一次操作可以最多左移3次或者右移3次 题解: 首先找寻一下这两个数的二进制形式下最右边那个1在什么位置.然后看一下它们的差距是多少(设为x) 那么就让a,b中小的那个数左移x位.之后判断一下它们两个相等不相等就可以了 代码: 1 #include<stdio.h> 2 #include<algori…
题意:有\(n\)个点,\(m\)条边,现在要给这些点赋值,,每次只能赋给某一点的四周(所连边)的最小没出现过的值.如果不能按照所给的数赋值,输出\(-1\),否则输出赋值顺序. 题解:我们用\(pair\)记录最后一行所给的数和位置,不难想,每次肯定是赋最小的数,所以我们对其排序,然后遍历取位置,看这个位置周围能赋的值是否满足条件即可. 代码: #include <iostream> #include <cstdio> #include <cstring> #incl…
题意:有一个正整数\(n\),要求写出所有\(1\)~\(n\)的二进制数,统计相邻的两个二进制同位置上不同数的个数. 题解:打表找规律,不难发现: ​ \(00000\) ​ \(00001\) ​ \(00010\) ​ \(00011\) ​ \(00100\) ​ \(00101\) ​ 当最低位时,每次都变换,由低位向高位,每\(2*i\)次变换一次,直接位运算暴力即可. 代码: #include <iostream> #include <cstdio> #include…
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate it n = int(raw_input()) s = "" a = ["I hate that ","I love that ", "I hate it","I love it"] for i in ran…
Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/output 1 s, 256 MB    x3384 B Pyramid of Glasses standard input/output 1 s, 256 MB    x1462 C Vasya and String standard input/output 1 s, 256 MB    x1393…