首页 > Sum
头像 你好_A
发表于 2022-08-12 22:04:34
C、School 前置知识:区间合并+二分查找 区间合并:对于多个区间来说,如果其中有区间的范围有重合,那便可以把他们合并成一个区间,这样做对于某些对区间的处理就能方便简洁很多。 问题解析 为了方便处理,我们可以直接把所有时间改成分钟的形式,比如1小时10分,对于我们正常的时间来说,这就是70分,那 展开全文
头像 你好_A
发表于 2022-08-12 21:45:47
B、Gaming 前置知识:线段树(区间修改+单点查询) 线段树是算法竞赛中常用的用来维护 区间信息 的数据结构。 线段树可以在 logn 的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。 具体可以移步https://oi-wiki.org/ds/seg 展开全文
头像 你好_A
发表于 2022-08-12 22:49:26
A、Sum 吐槽 再经过"YE5"和"N0"后又一次被牛客恶心到辣,为什么是对1e7+7取模啊喂! 前置知识:排序+贪心 问题解析 每次我们可以合并至少两个数,并获得等同于他们之和的分数总和。 那么对于贪心来说,我们可以先对所有数进行降序排序(大的在前面,小的在后面)。 每次合并最大的两个数即可,而 展开全文
头像 牛客532105025号
发表于 2022-08-13 13:05:52
B 差分;遍历一遍找最小值即可 using namespace std; typedef long long LL; const int N = 1e6+21; LL nums[N], ans, res; int main() { int n,m; cin>>n>>m; 展开全文
头像 你好_A
发表于 2022-08-12 22:39:17
D、Word 前置知识:BFS(广度优先搜索) 问题解析 看到数据后我们发现,一共最多只有2000个字符串,字符串的最大长度才20,而且只有一个询问而已。那就可以先想暴力了,加上这里要求的是把s变成t的最少操作数,我们可以采用BFS的方法。 初始队列中存入字符串s。 在每一步的bfs中,我们可以枚举 展开全文

等你来战

查看全部