Mag1c0nch
Mag1c0nch
全部文章
分类
归档
标签
去牛客网
登录
/
注册
Mag1c0nch的博客
全部文章
(共24篇)
题解 | #小美的蛋糕切割#
维护好二维前缀和sum后,所有可能的 sum[i][m] 和 sum[n][i] 就是小美拥有的,而 sum[n][m] 减去小美拥有的就是小团拥有的,遍历所有可能性,维护好最小的二者的差的绝对值即可 #include <bits/stdc++.h> using namespace st...
2024-11-21
1
15
题解 | #小美走公路#
维护好前缀和b,那么 l 到 r 的要么正着走花费 b[r - 1] - b[l - 1] ,要么反着走花费 b[n] - b[r - 1] + b[l - 1]记得保证 l<r #include <bits/stdc++.h> using namespace std; #def...
2024-11-21
1
9
题解 | #【模板】差分#
使用差分数组维护区间修改即可 #include <bits/stdc++.h> using namespace std; #define int long long const int N = 1e5 + 5; int __t = 1, n, m, l, r, k; int a[N], ...
2024-11-21
1
6
题解 | #【模板】静态矩阵和(二维前缀和)#
使用二维前缀和即可,需要注意不定长的二维数组可以使用vector #include <bits/stdc++.h> using namespace std; #define int long long const int N = 1005; int __t = 1, n, m, q, x...
2024-11-21
1
6
题解 | #【模板】线段树1#
板子题 #include <bits/stdc++.h> using namespace std; #define int long long const int N = 1e5 + 5; int __t = 1, n, q; int a[N], bit[N]; void update(...
2024-11-21
2
5
题解 | #【模板】静态区间和(前缀和)#
使用前缀和维护 1 到 i 的元素和,存在 b 数组那么查询 l 到 r 的元素和就是 b[r]-b[l-1] #include <bits/stdc++.h> using namespace std; #define int long long const int N = 2e6 + ...
2024-11-21
1
6
题解 | #小欧安排座位#
首先考虑尽可能的满足想换座位的人我们将想换座位的人单独记录下来,然后将其循环打乱,就是给第一个人最后一个人的座位,第二个人第一个人的座位,以此类推发现很像第一天的最后一题,我们维护一个map给每个需要换座位的人自己到自己的映射,然后将其错位swap即可,实现非常的简单 #include <bi...
2024-11-21
2
10
题解 | #小红的好数#
本题关键在于将整形大批量的转为字符串不足5位的用0补齐实现方法很多,个人推荐用 format 来格式化,但是目前牛客不支持c++20用不了string s = format("{:05}", i);所以考虑使用while,将不足5位的字符串前方补0即可判断一个字符串是不是5种字符...
2024-11-21
2
10
题解 | #小欧的数组修改#
考虑使用map维护每个数出现的次数,发现可以顺便维护下map中最大的值 maxn ,答案就是 min(maxn + 1, n) #include <bits/stdc++.h> using namespace std; #define int long long const int N ...
2024-11-21
2
11
题解 | #游游的除2操作#
给大家一种好理解的做法吧简化题意:每个数都可以进行若干次除2的操作,最终需要使所有数相同,输出最少的操作次数我们可以发现,对一个数进行 i 次除2,等效于在将其二进制右移 i 位,而一个 1e9范围内 的数通过除2能得到的数,最多只有29个,我可以轻松的维护出每个数 x 右移 i 位得到的数 y 那...
2024-11-21
6
20
首页
上一页
1
2
3
下一页
末页