2021寒假集训
在下小怪兽
这个作者很懒,什么都没留下…
展开
-
双指针 + 前缀和
题目链接题目描述有n个程序,每个程序具有内存和重要性两个属性,让你在删除不小于m内存的程序下,最少删除多少重要性。题解因为重要性只有两种1和2, 所以我们根据这两种将内存分为a[N], b[N],可以看出来当重要性相同时我们要尽可能的选择比较大的内存,所以分别排序。开始枚举a[N]中的元素,当枚举的a中的元素的前缀和增大时,b的前缀和一定是减小的,所以我们可以使用双指针时间复杂度 O(n)O(n)O(n)#include <bits/stdc++.h>using namespa原创 2021-01-26 11:27:13 · 186 阅读 · 0 评论 -
二分 + 思维
Blurred Pictures 题意:给定一个n行的矩阵每行告诉你最左边和最右边的染色块(之间全都是染色的),让你求这个最大正方形的染色块的边长。注意:每一行和每一列至少有一个色块。在任意两连续行中,同一列中至少有两个色块。(这个提示极为重要,这句话意味着这个大色块是一个凸连通块)题解:我们可以直接二分边长,然后判断这个边长能否构成正方形色块,如果可以就对答案更新。时间复杂度为O(nlog2n)O(nlog^2n)O(nlog2n)#include <bits/stdc++.h>原创 2021-01-18 11:38:40 · 194 阅读 · 1 评论