随笔分类 -  codeforces

摘要:A. From Hero to Zero 题意:你要把\(n\)变成零,每次有两种操作:一种是把\(n\)减一,一种是如果\(k\)整除\(n\)则把\(n\)除以\(k\)。求最小操作数。 能除就除,不能除就减到最近的\(k\)的倍数。 点击查看代码 void solve() { i64 n, k 阅读全文
posted @ 2025-04-23 17:55 maburb 阅读(15) 评论(0) 推荐(0)
摘要:A. Telephone Number 题意:判断一个数字串删去若干字符到长度为11的时候能不能是8这个数字开头。 判断第一个8前面的数能不能都删去。 点击查看代码 void solve() { int n; std::cin >> n; std::string s; std::cin >> s; 阅读全文
posted @ 2025-04-22 22:12 maburb 阅读(11) 评论(0) 推荐(0)
摘要:A. Common Multiple 题意:在\(a\)中选出一个子序列\(x\),然后构造一个长度相等的没有重复数字的数字\(y\),使得任意的\(i, j\)都有\(x_i\times y_i = x_j \times y_j\)。要求子序列最长。 没有重复数字,那么\(y\)里任意两个数和\( 阅读全文
posted @ 2025-04-22 00:53 maburb 阅读(1069) 评论(3) 推荐(2)
摘要:A. Inscribed Figures 题意:三种图形:圆、等腰三角形、正方形。给出它们的嵌套序列,里面的元素是可以放在外面元素里面的最大元素。求交点个数。 显然三角形和正方形嵌套会有无数个交点。圆和三角形嵌套不管谁在外面谁在里面都是三个交点,同理圆和正方形是四个交点。 还有个特殊情况,就是正方形 阅读全文
posted @ 2025-04-21 16:46 maburb 阅读(16) 评论(0) 推荐(0)
摘要:A. Reverse a Substring 题意:翻转字符串一个子串,使得新字符串比原字符串字典序小。 交换相邻的就行,判断有没有相邻的\(i\)使得\(a_i > a_{i + 1}\)。 点击查看代码 void solve() { int n; std::cin >> n; std::stri 阅读全文
posted @ 2025-04-20 18:24 maburb 阅读(12) 评论(0) 推荐(0)
摘要:A. Wonderful Sticks 题意:给你一个字符串,构造一个排列,满足如果\(s_i =\)'>'则\(p_{i + 1}\)大于前面所有数,否则小于前面所有数。 从后往前构造,遇到小于号放当前最小的数,否则放最大的数。 点击查看代码 void solve() { int n; std:: 阅读全文
posted @ 2025-04-20 15:14 maburb 阅读(302) 评论(0) 推荐(0)
摘要:A. Detective Book 题意:给你一个数组\(a\),从\(1\)开始,每次跳到\(a_i\),直到\(a_i = i\)算一轮,然后位置往后移一位。求总共几轮。 模拟。 点击查看代码 void solve() { int n; std::cin >> n; std::vector<in 阅读全文
posted @ 2025-04-18 16:04 maburb 阅读(26) 评论(0) 推荐(0)
摘要:A. Regular Bracket Sequence 题意:四种括号序列:"((", "()", ")(", "))"。给出每一种的个数,求能不能拼成一个合法的括号序列。 第一种和最后一种个数要相同,同时如果有第三种括号,那么第一种和最后一种个数不能为零。 点击查看代码 void solve() 阅读全文
posted @ 2025-04-17 16:58 maburb 阅读(18) 评论(0) 推荐(0)
摘要:A. Best Subsegment 题意:找出最长的平均值最大的子区间。 显然平均值最大的子区间的所有元素都数组最大值。因为一旦有一个数不是最大值,那么平均数显然小于最大值,而单个最大值的平均数就是最大值,可以发现最大值就是最大平均数的值。 那么找最长的连续最大值就行。 点击查看代码 void s 阅读全文
posted @ 2025-04-16 18:47 maburb 阅读(18) 评论(0) 推荐(0)
摘要:A. Digits Sequence Dividing 题意:给你一个数字串,把它分成不少于两个子数组。使得这些子数组严格递增。 如果\(n > 2\),可以分成两部分,第一部分是第一个位置,后面的都给第二个部分。 否则如果\(n = 2\),直接判断两个位置的大小。 点击查看代码 void sol 阅读全文
posted @ 2025-04-15 23:11 maburb 阅读(23) 评论(0) 推荐(0)
摘要:A. Minimum Integer 题意:找最小的小于\(l\)或者大于\(r\)的\(d\)的倍数。 点击查看代码 void solve() { int l, r, d; std::cin >> l >> r >> d; if (l > d) { std::cout << d << "\n"; 阅读全文
posted @ 2025-04-14 16:18 maburb 阅读(24) 评论(0) 推荐(0)
摘要:A. Trippi Troppi 题意:给你三个字符串,将他们的首字母一起输出。 点击查看代码 void solve() { std::string a, b, c; std::cin >> a >> b >> c; std::cout << a[0] << b[0] << c[0] << "\n" 阅读全文
posted @ 2025-04-14 01:53 maburb 阅读(321) 评论(0) 推荐(2)
摘要:A. Find Divisible 点击查看代码 void solve() { int l, r; std::cin >> l >> r; std::cout << l << " " << l * 2 << "\n"; } B. Substring Removal 题意:给你一个字符串,删去恰好一个 阅读全文
posted @ 2025-04-11 16:38 maburb 阅读(21) 评论(0) 推荐(0)
摘要:A. Dice Rolling 点击查看代码 void solve() { int x; std::cin >> x; if (x & 1) { std::cout << 1 + (x - 3) / 2 << "\n"; } else { std::cout << x / 2 << "\n"; } 阅读全文
posted @ 2025-04-10 16:31 maburb 阅读(28) 评论(0) 推荐(0)
摘要:A. Vasya and Book 点击查看代码 void solve() { int n, x, y, d; std::cin >> n >> x >> y >> d; if (std::abs(x - y) % d) { int ans = 1e9; if ((y - 1) % d == 0) 阅读全文
posted @ 2025-04-09 12:19 maburb 阅读(16) 评论(0) 推荐(0)
摘要:A. Ideal Generator 题意:给你\(k\),求能不能使得所有的\(n \leq k\)的\(n\),都能构造一个全部非零的长度为\(k\)的总和为\(n\)的回文数组。 如果\(k\)是奇数,都放\(1\)然后剩下的给中间就行了。 如果是偶数,无解。 点击查看代码 void solv 阅读全文
posted @ 2025-04-09 01:23 maburb 阅读(620) 评论(6) 推荐(4)
摘要:A. Minimizing the String 题意:删除一个字符使得字符串字典序最小。 经典结论,删第一个\(s_i > s_{i+1}\)。 点击查看代码 void solve() { int n; std::cin >> n; std::string s; std::cin >> s; fo 阅读全文
posted @ 2025-04-08 05:17 maburb 阅读(20) 评论(0) 推荐(0)
摘要:A. Diverse Substring 看能不能选两个不一样的字符。 点击查看代码 void solve() { int n; std::cin >> n; std::string s; std::cin >> s; if (std::ranges::count(s, s[0]) == n) { 阅读全文
posted @ 2025-04-07 17:25 maburb 阅读(25) 评论(0) 推荐(0)
摘要:A. Vasya and Chocolate 点击查看代码 void solve() { i64 s, a, b, c; std::cin >> s >> a >> b >> c; std::cout << s / c + (s / c / a) * b << "\n"; } B. Vasya an 阅读全文
posted @ 2025-04-06 17:58 maburb 阅读(20) 评论(0) 推荐(0)
摘要:A. Max and Mod 题意:构造一个排列,使得\(\max(p_i, p_{i-1}) = i - 1\)。 发现\(n\)为奇数时输出\(n, 1, 2, ... , n - 1\)就行。 如果为偶数,无解。(猜的) 点击查看代码 void solve() { int n; std::ci 阅读全文
posted @ 2025-04-06 01:51 maburb 阅读(347) 评论(0) 推荐(0)