随笔分类 - codeforces
摘要:A. Infinite Sequence 题意:一个数列是由\(\{\{1\}, \{1, 2\}, ... \{1, 2, ..., n\}\}\)组成的,求第\(k\)个位置上的数。 发现前\(n\)段数组成序列长度为\(\frac{n\times (n + 1)}{2}\),那么二分找到这个\
阅读全文
摘要:A. Professor GukiZ's Robot 题意:给你两个坐标,可以走八个方向,求从第一个坐标到第二个坐标的最少操作数。 先斜着走,然后到了某个坐标相同的位置就直着走,那么方向就是两个坐标的最远距离。 点击查看代码 void solve() { int x1, y1, x2, y2; st
阅读全文
摘要:A. Brogramming Contest 题意:给你一个字符串\(s\),还有一个空字符串\(t\),你每次可以把\(s\)的一个后缀放到\(t\)后面,或者把\(t\)的一个后缀放到\(s\)后面,求使得\(s\)全0\(t\)全1的最小操作数。 考虑该如何操作,如果\(s\)后面是一段零,那
阅读全文
摘要:A. Comparing Two Long Integers 题意:给你两个可能包含前导零的数字,判断它们的大小关系。 去除前导零后,先判断位数,位数相同再判断大小。 点击查看代码 void solve() { std::string a, b; std::cin >> a >> b; std::r
阅读全文
摘要:A. The Text Splitting 题意:给你一个字符串,你要把它分成若干个长度为\(p\)或者长度为\(q\)的字符串。 考虑枚举分成几个长度为\(p\)的字符串,剩下长度是\(q\)的倍数则合法。 点击查看代码 void solve() { int n, a, b; std::cin >
阅读全文
摘要:A. USB Flash Drives 题意:给你一个\(m\)和\(n\)个数,你要从中选最少的数使得它们的和大于等于\(m\)。 排序后从大到小枚举即可。 点击查看代码 void solve() { int n, m; std::cin >> n >> m; std::vector<int> a
阅读全文
摘要:A. Extract Numbers 题意:一个字符串只包含数字小写字母和';', 以及','。由';'和','对字符串进行分隔。你要判断每个分隔的部分是不是合法数字,是就加入到第一个序列里,否则加入第二个序列。然后把两个序列按要求输出。 模拟题,就是把每段取出来判断就行了。不过要注意仅有一个空字符
阅读全文
摘要:开个新坑,听说\(edu\)有很多典题,我因为很多次做不出来被别人称为典题的题,所以准备从老到新把\(edu\)都vp一遍。 A. Tricky Sum 题意:在\(1\)到\(n\)中的每个数,如果不是\(2\)的幂,就减去,否则加上。 先求全部\(1\)到\(n\)的和,然后枚举减去去\(2\)
阅读全文
摘要:A. Adjacent Digit Sums 题意:求有没有一个数字各位和为\(x\),并且加一后各位和为\(y\)。 发现一个数加一后,要么和加一,要么进若干位,就是减若干个9然后加1。所以判断\(y == x + 1 || (x - y + 1) \% 9 == 0\) 点击查看代码 void
阅读全文
摘要:A. Skibidus and Amog'u 按题意输出即可。 点击查看代码 void solve() { std::string s; std::cin >> s; std::cout << s.substr(0, (int)s.size() - 2) + "i" << "\n"; } B. Sk
阅读全文
摘要:A. Sorting with Twos 题意:给你一个数组,你每次可以给前\(2^i\)个数减一,问能不能使得数组非递减。 \([2^i, 2^{i + 1} - 1]\)这段数大小关系保持不变,看每段是不是升序关系就行了。 点击查看代码 void solve() { int n; std::ci
阅读全文
摘要:A. Treasure Chest 题意:你要经过\(y\)然后到\(x\),你可以让\(x\)最多移动\(k\),求最短距离。 如果\(y \leq x\),答案就是\(x\)。 否则尽量把\(x\)往\(y\)移就行。 点击查看代码 void solve() { int x, y, k; std
阅读全文
摘要:A. Circuit 题意:有\(n\)个灯和\(2n\)个开关,每个开关控制一个灯,每个灯被两个开关控制,如果控制一个灯的两个开关中恰好有一个打开,这个灯就会亮。你不知道具体哪些开关控制哪些灯。现在给你\(2n\)个灯的开关状态,求最少亮多少灯和最多亮多少灯。 最少的状态就是尽量让两个打开的开关控
阅读全文
摘要:A. Milya and Two Arrays 题意:给你两个长度为\(n\)的数组\(a\)和\(b\),\(a, b\)中的每个元素都至少出现两次。你可以重新排列\(a\),最后要使得\(a_i + b_i\)的不同种类大于等于3。 统计\(a\)和\(b\)的种类数\(cnt1, cnt2\)
阅读全文
摘要:A. String 题意:给你一个01串,你每次选一个子序列,其中相邻的两位不相同,如何把这个子序列位置上的数取反,问多少次能变成全0。 因为必须是10交替,那么取反后相当于没操作。所以我们每次操作一个1就行。这样操作数是1的个数。 点击查看代码 void solve() { std::string
阅读全文
摘要:A - Secret Sport 题意:两个人比赛,每有一个人赢了\(X\)场就算它赢了一轮。比赛是在有一个人赢了\(Y\)轮后结束。你不知道\(XY\),但给你一个每场的输赢情况,求谁是赢家。 去求\(XY\)非常难,不如倒着想,一轮必然是因为赢的那个人赢了一把而结束,同样,整个比赛也是因为赢的那
阅读全文
摘要:A. Minimal Coprime 题意:互素区间是指\(gcd(l, r) = 1\)的区间,极小互素区间是互素区间并且没有一个被他包含的区间也是互素区间。问你区间\([l, r]\)里有多少个极小互素区间。 根据数论的基础知识,\(x,x+1\)一定是互素的,所以统计所有长度为\(2\)的区间
阅读全文
摘要:A. Kevin and Arithmetic 题意:给你\(n\)个数,你一开始有一个\(x = 0\),每次你让\(x\)加上一个没用过的数,然后\(x\)会一直除二直到变成奇数。如果你加上一个数后能除2,分数加1,问分数最大多少。 奇数后面加奇数才能是偶数,但一开始\(x\)是零,那么需要一个
阅读全文
摘要:A. Fibonacciness 题意:给你\(a_1,a_2,a_4,a_5\),你可以让\(a_3\)等于任何数,求最大有多少个\(i\)满足\(1 <= i <= 3, a_i + a_{i+1} = a_{i+2}\)。 枚举\(a_3\)分别等于\(a_1 + a_2,a_4 - a_2,
阅读全文
摘要:A. Milica and String 题意:给你一个只包含\(A\)和\(B\)的串,你每次可以让一个前缀都变成\(A\)或者都变成\(B\),问让字符串恰好有\(k\)个\(B\)的最小操作数和方案。 我们最多操作一次。如果我们\(B\)的数量大于\(k\),那么我们找一个恰好有\(k-cnt
阅读全文

浙公网安备 33010602011771号