上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 75 下一页
摘要: 原题链接 考察:Flood Fill(dfs or bfs) 思路: 用Flood Fill算法时,判定边界是否有> < 的高度. 1 #include <iostream> 2 #include <cstring> 3 #include <cstdio> 4 using namespace std 阅读全文
posted @ 2021-03-07 22:51 acmloser 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:Flood Fill(dfs or bfs) 错误思路: 根据每个数字建立一张char类型的新图. 这种做法超麻烦!!!注意这道题1 2 4 8的数字不是偶然的,这正好对应每位二进制的1. 这道题用如果用方向数组要根据下标来判断该位是否为1才能继续前进. 1 #include <io 阅读全文
posted @ 2021-03-07 21:08 acmloser 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:差分 思路: 首先认识到差分数组的下标是1~n+1.因为要求序列值全部相同,不同种序列的值取决于b[1]的值.某段区间内全部+1,相当于差分数组b[l]+1,b[r]-1.要让次数最少,让所有操作尽可能有效,即让b数组2~n的正数-1,负数+1.操作次数是max(正数和,负数和).第 阅读全文
posted @ 2021-03-06 16:38 acmloser 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:二分 再做一次还是没想到系列 蒟蒻本蒻 思路: 这道题的check函数很好想,就是枚举端点,找到区间>=l&&平均值>=mid的区间.暴力枚举是sum[j]-sum[i]>=(j-i)*mid.我们需要进行优化,要将二重循环优化到一维,i必须省去,我们求[i,j]区间是否平均值>=m 阅读全文
posted @ 2021-03-06 15:29 acmloser 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:二分 思路: 嵌套二分,和上一题Matrix差不多,中位数和排序后的a数组都具有单调性. 更好的check函数是,score是a[j]与a[i]的差值,已经确定a[j],那么可以求出a[i]的位置(lower_bound),从而计算前面有多少个符合条件的. 为什么本题不会有不存在的情 阅读全文
posted @ 2021-03-06 10:52 acmloser 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:二分 第一次做这题我还以为是dfs..... 思路: 首先烘干时间符合单调性,二分烘干时间,难点在如何写判断函数.首先两种情况: a[i]<=s,直接无视. a[i]>s,需要考虑它用烘干机的时间,注意不能直接算把它烘干完的时间,因为浪费的时间没有利用,假设它用烘干机的时间是t,那么 阅读全文
posted @ 2021-03-06 01:56 acmloser 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:二分 思路: 首先这道题不是让我们求坐标,而是求具体的值.观察式子,当j不变时,i增大,值增大.分数满足单调性,j不变时,i也满足单调性.二分分数,枚举每一列有多少个满足分数<小于当前score,根据总数再继续二分score.在枚举每一列时,i也满足单调性,所以也用二分枚举i. 注意 阅读全文
posted @ 2021-03-06 00:28 acmloser 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:组合数学 思路: C[i][j] = C[i-1][j-1]+C[i-1][j],注意拿当前数+不拿当前数,和分苹果的划分方式不一样.当C[i][j] = 0,Sum[i][j] = 1,求前缀和i、j范围必须相同. 1 #include <iostream> 2 #include 阅读全文
posted @ 2021-03-04 23:32 acmloser 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:枚举 + hash 思路: 暴力是直接枚举a[i]与a[j],需要优化省去一重循环.我们枚举的a[i],a[j]检查是否为k倍数时,需要让a[j]*10t + a[i](t位为a[i]的位数,注意这里用字符串转换反而不如直接求位数方便).一重循环枚举a[i]时,t已知,a[i]已知, 阅读全文
posted @ 2021-03-04 21:31 acmloser 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:思维 思路: 考虑四个端点的规律,而不是斜率相同的点的规律.除了第三象限其他端点的值与x、y都很好找.第三象限要进行x+1>=<y分类.代码写繁琐了,y总的思路将点分为在上、下、左、右更好. 1 #include <iostream> 2 #include <cstring> 3 # 阅读全文
posted @ 2021-03-04 19:55 acmloser 阅读(59) 评论(0) 推荐(0) 编辑
上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 75 下一页