随笔分类 -  codeforces

摘要:A. To Zero 题意:给你一个\(n\)和\(k\), \(k\)是一个奇数,你每次可以选择\(1\)到\(k\)的某个数让\(n\)减掉。但如果\(n\)是奇数你也必须选奇数,是偶数你也必须选偶数。 如果\(n\)是奇数,我们就减去\(k\), 因为奇数减奇数后就是偶数,不能再减回奇数,所以 阅读全文
posted @ 2025-03-18 02:01 maburb 阅读(721) 评论(7) 推荐(1)
摘要:A. Nearest Minimums 题意:求相隔最近的两个最小的数。 记录上一个出现的位置,遍历即可。 点击查看代码 void solve() { int n; std::cin >> n; std::vector<int> a(n); for (int i = 0; i < n; ++ i) 阅读全文
posted @ 2025-03-17 17:52 maburb 阅读(19) 评论(0) 推荐(0)
摘要:A. Binary Matrix 题意:给你一个\(01\)矩阵,你要修改尽量少的位置,使得每行每列的异或和都是\(0\)。 有三种修改方式: 修改一个位置使得一行一列满足 对于两个不满足条件的行,分别修改同一列的位置,使得两个行满足。 对于两个不满足条件的列,分别修改同一行的位置,使得两个列满足。 阅读全文
posted @ 2025-03-17 16:28 maburb 阅读(636) 评论(2) 推荐(0)
摘要:A. Hungry Student Problem 枚举 点击查看代码 void solve() { int n; std::cin >> n; for (int i = 0; i <= n / 3; ++ i) { if ((n - 3 * i) % 7 == 0) { std::cout << 阅读全文
posted @ 2025-03-15 16:44 maburb 阅读(16) 评论(0) 推荐(0)
摘要:A. Chess For Three 记录观众是哪一个,观众不能是赢家。 点击查看代码 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-14 17:27 maburb 阅读(12) 评论(0) 推荐(0)
摘要:A. Local Extrema 点击查看代码 void solve() { int n; std::cin >> n; std::vector<int> a(n); for (int i = 0; i < n; ++ i) { std::cin >> a[i]; } int ans = 0; fo 阅读全文
posted @ 2025-03-13 17:00 maburb 阅读(28) 评论(0) 推荐(0)
摘要:A. Book Reading 点击查看代码 void solve() { int n, t; std::cin >> n >> t; std::vector<int> a(n); for (int i = 0; i < n; ++ i) { std::cin >> a[i]; } for (int 阅读全文
posted @ 2025-03-12 15:44 maburb 阅读(21) 评论(0) 推荐(0)
摘要:A. Draw a Square 题意:\(4\)个点,两个在\(x\)轴上,两个在\(y\)轴上,求它们能不能形成正方形。 显然它们离原点的距离都要相同。 点击查看代码 void solve() { int l, r, d, u; std::cin >> l >> r >> d >> u; if 阅读全文
posted @ 2025-03-12 01:19 maburb 阅读(734) 评论(0) 推荐(0)
摘要:A. Chores 点击查看代码 void solve() { int n, k, x; std::cin >> n >> k >> x; std::vector<int> a(n); for (int i = 0; i < n; ++ i) { std::cin >> a[i]; } int an 阅读全文
posted @ 2025-03-11 06:19 maburb 阅读(25) 评论(0) 推荐(0)
摘要:A. Quasi-palindrome 题意:给你一个数,在前面加上一些前导零使得这个数是回文。 模拟。 点击查看代码 void solve() { std::string s; std::cin >> s; auto check = [&](std::string s) -> bool { int 阅读全文
posted @ 2025-03-10 16:50 maburb 阅读(26) 评论(0) 推荐(0)
摘要:A. Curriculum Vitae 题意:删去最少的数,使得任意一个1后面没有0。 记录前缀0个数和后缀1个数。然后枚举即可。 点击查看代码 void solve() { int n; std::cin >> n; std::vector<int> a(n); for (int i = 0; i 阅读全文
posted @ 2025-03-09 15:55 maburb 阅读(21) 评论(0) 推荐(0)
摘要:A. Chess Tourney 题意:把一个数组分成两组,使得一个数组的每一个数都的大于另一个数组的每一个数。 排序后判断中间两个数是不是相等。 点击查看代码 void solve() { int n; std::cin >> n; n <<= 1; std::vector<int> a(n); 阅读全文
posted @ 2025-03-08 19:37 maburb 阅读(25) 评论(0) 推荐(0)
摘要:A. Text Volume 题意:统计每个单词大写字母个数的最大值。 点击查看代码 void solve() { int n; std::cin >> n; std::string s; getchar(); std::getline(std::cin, s); s += " "; int ans 阅读全文
posted @ 2025-03-07 16:50 maburb 阅读(30) 评论(0) 推荐(0)
摘要:A. United We Stand 题意:把\(a\)分成两个不为空的数组,使得第二个数组的任意一个数不是第一个数组任意一个数的因子。 如果第二个数组的数都比第一个大就符合条件。无解的情况就是数组的数都相同。 点击查看代码 void solve() { int n; std::cin >> n; 阅读全文
posted @ 2025-03-06 23:42 maburb 阅读(37) 评论(0) 推荐(0)
摘要:A. Binary Protocol 题意:一个数字的数位上的数变成了其值为长度的连续个1,并用0把这些串连接在一起。现在要你恢复原来的数字。 用个\(sum\)记录连续的1的个数,每次遇到0就把\(sum\)加入答案,并使\(sum=0\)。 点击查看代码 void solve() { int n 阅读全文
posted @ 2025-03-06 18:24 maburb 阅读(29) 评论(0) 推荐(0)
摘要:A. Diplomas and Certificates 点击查看代码 void solve() { i64 n, k; std::cin >> n >> k; i64 cnt = (n / 2) / (k + 1) * k; std::cout << cnt / k << " " << cnt < 阅读全文
posted @ 2025-03-05 19:05 maburb 阅读(23) 评论(0) 推荐(0)
摘要:A. Simple Design 题意:找大于等于\(x\)的第一个数位和是\(k\)的倍数的数。 \(k\)很小,则答案不会大于\(x\)很多。暴力枚举即可。 点击查看代码 void solve() { int n, k; std::cin >> n >> k; for (int i = n; ; 阅读全文
posted @ 2025-03-04 22:23 maburb 阅读(25) 评论(0) 推荐(0)
摘要:A. Treasure Hunt 题意:你要从\((x_1, y_1)\)走到\((x_2, y_2)\),每次横坐标必须移动\(x\)个单位,纵坐标必须移动\(y\)个单位。求能不能到达。 先看两个坐标的的距离能不能整除\(x, y\),然后看走的步数是不是奇偶性相同,如果相同则一个坐标可以通过反 阅读全文
posted @ 2025-03-04 06:56 maburb 阅读(32) 评论(0) 推荐(0)
摘要:A. Chemistry 题意:一个字符串,能不能删除不超过\(k\)字符和重排后是回文。 记录每个字符的数量,如果是奇数则我们可能需要删除,最多留一个不能删的放在中间。 点击查看代码 void solve() { int n, k; std::cin >> n >> k; std::string 阅读全文
posted @ 2025-03-03 22:41 maburb 阅读(38) 评论(0) 推荐(0)
摘要:A. The Contest 题意:有\(n\)个数的和\(sum\),在\(m\)的个区间里如果\(l_i \leq sum \leq r_i\)则输出\(sum\),否则如果\(l_i \geq sum\),输出\(l_i\)。 点击查看代码 void solve() { int n; std: 阅读全文
posted @ 2025-03-03 16:46 maburb 阅读(27) 评论(0) 推荐(0)