随笔分类 -  codeforces

摘要:A. Vasya And Password 分类讨论 点击查看代码 void solve() { std::string s; std::cin >> s; int f1 = 0, f2 = 0, f3 = 0; for (auto & c : s) { f1 += c >= 'a' && c <= 阅读全文
posted @ 2025-04-05 15:15 maburb 阅读(20) 评论(0) 推荐(0)
摘要:A. Function Height 题意:\(n\)个数给他们赋值,使得和恰好为\(k\), 求其中的最大值最小。 点击查看代码 void solve() { i64 n, k; std::cin >> n >> k; std::cout << (k + n - 1) / n << "\n"; } 阅读全文
posted @ 2025-04-04 20:54 maburb 阅读(21) 评论(0) 推荐(0)
摘要:A. Cloudberry Jam 题意:每个物品花费2的代价,问\(n\)个物品花费多少代价。 点击查看代码 void solve() { int n; std::cin >> n; std::cout << n * 2 << "\n"; } B. Large Array and Segments 阅读全文
posted @ 2025-04-04 00:36 maburb 阅读(511) 评论(0) 推荐(0)
摘要:A. Palindromic Twist 判断对应位置的差是不是等于0或2。 点击查看代码 void solve() { int n; std::cin >> n; std::string s; std::cin >> s; for (int i = 0, j = n - 1; i < j; ++ 阅读全文
posted @ 2025-04-01 06:47 maburb 阅读(31) 评论(0) 推荐(0)
摘要:A. Death Note 点击查看代码 void solve() { int n, m; std::cin >> n >> m; std::vector<int> a(n); for (int i = 0; i < n; ++ i) { std::cin >> a[i]; } for (int i 阅读全文
posted @ 2025-03-31 16:01 maburb 阅读(19) 评论(0) 推荐(0)
摘要:A. Game Shopping 点击查看代码 void solve() { int n, m; std::cin >> n >> m; std::vector<int> a(n), b(m); for (int i = 0; i < n; ++ i) { std::cin >> a[i]; } f 阅读全文
posted @ 2025-03-30 17:37 maburb 阅读(22) 评论(0) 推荐(0)
摘要:A. Kamilka and the Sheep 题意:给你\(n\)个数,给每个数加上一个非负整数后,选出两个数使得它们的\(gcd\)最大。 因为\(gcd(x, y) = gcd(x, y - x)\)。然后我猜是\(max-min\)。 点击查看代码 void solve() { int n 阅读全文
posted @ 2025-03-30 01:55 maburb 阅读(624) 评论(0) 推荐(1)
摘要:A. Commentary Boxes 题意:把\(n\)变成\(m\)的倍数,每次加一花费\(a\),每次加一花费\(b\)。求最小花费。 点击查看代码 void solve() { i64 n, m, a, b; std::cin >> n >> m >> a >> b; std::cout < 阅读全文
posted @ 2025-03-28 21:48 maburb 阅读(19) 评论(0) 推荐(0)
摘要:A. Chess Placing 题意:一个长度为\(n\)的数组上有\(n / 2\)个点,你想要移动这些点使得它们的位置奇偶性相同,求最小移动数。 只有两种情况,要么在偶数位置要么在奇数位置,判断两种情况就行。 具体就是从小到大看,拿最小的位置移动到需要移动到的最小位置。 点击查看代码 void 阅读全文
posted @ 2025-03-28 16:38 maburb 阅读(17) 评论(0) 推荐(0)
摘要:A. Minimum Binary Number 题意:给你一个01串,你每次可以交换相邻的两个元素,或者把两个相邻的1变成一个1。求二进制表示小最小的数。 显然我们可以把1消除到只剩一个。那么答案就是一个1加原串的所有0. 要特判原串只有一个0的情况。 点击查看代码 void solve() { 阅读全文
posted @ 2025-03-27 16:26 maburb 阅读(23) 评论(0) 推荐(0)
摘要:A. Equator 题意:求最前的前缀其和大于等于总和一半。 点击查看代码 void solve() { int n; std::cin >> n; std::vector<int> a(n); for (int i = 0; i < n; ++ i) { std::cin >> a[i]; } 阅读全文
posted @ 2025-03-26 17:52 maburb 阅读(17) 评论(0) 推荐(0)
摘要:A. Olympiad Date 点击查看代码 void solve() { int n; std::cin >> n; std::vector<int> a(10); a[0] = 3; a[1] = 1; a[3] = 1; a[2] = 2; a[5] = 1; std::vector<int 阅读全文
posted @ 2025-03-26 01:13 maburb 阅读(441) 评论(1) 推荐(1)
摘要:A. Tetris 找每一列的最小值。 点击查看代码 void solve() { int n, m; std::cin >> n >> m; std::vector<int> cnt(n); for (int i = 0; i < m; ++ i) { int x; std::cin >> x; 阅读全文
posted @ 2025-03-25 04:57 maburb 阅读(23) 评论(0) 推荐(0)
摘要:A. Treasure Hunt 点击查看代码 void solve() { int x, y, a; std::cin >> x >> y >> a; a %= (x + y); if (a < x) { std::cout << "NO\n"; } else { std::cout << "YE 阅读全文
posted @ 2025-03-24 22:53 maburb 阅读(290) 评论(0) 推荐(2)
摘要:A. Diagonal Walking 模拟 点击查看代码 void solve() { int n; std::cin >> n; std::string s; std::cin >> s; int ans = n; for (int i = 0; i + 1 < n; ++ i) { if (( 阅读全文
posted @ 2025-03-24 15:26 maburb 阅读(17) 评论(0) 推荐(0)
摘要:A. Serval and String Theory 题意:给你一个字符串\(s\),你每次可以交换其中两个位置的字符,最多操作\(k\)次,求可不可以使得\(s\)的字典序比\(res(s)\)小。其中\(rev(s)\)为\(s\)翻转后的的字符串。 首先如果\(s\)的所有位置都是一样的,无 阅读全文
posted @ 2025-03-23 01:05 maburb 阅读(354) 评论(0) 推荐(0)
摘要:A. Partition 题意:把数组分成两部分,加上第一部分,减去第二部分。 显然把正数给第一部分,负数给第二部分。 点击查看代码 void solve() { int n; std::cin >> n; std::vector<int> a(n); int ans = 0; for (int i 阅读全文
posted @ 2025-03-21 17:30 maburb 阅读(26) 评论(0) 推荐(0)
摘要:A. Word Correction 模拟 点击查看代码 void solve() { int n; std::cin >> n; std::string s; std::cin >> s; std::string ans; auto check = [&](char c) -> bool { re 阅读全文
posted @ 2025-03-20 16:34 maburb 阅读(15) 评论(0) 推荐(0)
摘要:A. Water The Garden 题意:长度为\(n\)的直线上有\(k\)个点,第\(i\)个点的坐标为\(x_i\)。第\(t\)时刻第\(i\)个点会覆盖\([i - t + 1, i + t - 1]\)。求覆盖所有点最小时间。 可以二分加差分做。数据范围很小,也可以枚举\(t\)然后 阅读全文
posted @ 2025-03-19 15:32 maburb 阅读(44) 评论(0) 推荐(0)
摘要:A. Garden 题意:\(n\)个数里选一个\(k\)的因子,使得\(\frac{k}{a_i}\)最小。 点击查看代码 void solve() { int n, k; std::cin >> n >> k; std::vector<int> a(n); for (int i = 0; i < 阅读全文
posted @ 2025-03-18 05:11 maburb 阅读(21) 评论(0) 推荐(1)