![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前缀和
清泠,
慢慢成长的小白白,
展开
-
每日一题 — 2020 - 04 - 23
题目链接 这题自己不会,但是大体知道知识点,回去还需要好好思考一下才行,感觉最近不是dfs就是二分 解题思路: 这个题应该解法挺多,不过想用二分来试试,最近二分挺多的。 首先二分需要满足单调性,这里我们肯定要先求出前缀和,然后我们发现的规律是,当前的前缀和,只要前面有个点的前缀和小于他,那么这一块就满足。 数据范围那么大,不是O(n) 就是O(nlogn),二分答案的话肯定是nlogn,不过...原创 2020-04-23 16:16:39 · 138 阅读 · 0 评论 -
每日一题 — 2020 - 04 - 19
题目链接 可以看出是差分和前缀和(差分的话自己并不熟练),这题主要是对前面知识进行回顾了差分和前缀和的知识。 解题思路: 首先这个先利用差分来记录每个点的值,这里利用差分,然后类似于前缀和的形式来求出每个位置的值 然后我们利用前缀和(二维前缀和) 然后最终求出即可 这里需要注意的是:(注意形式) 二维前缀和: a[i][j] = a[i][j] + a[i - 1][j] + a[i][...原创 2020-04-20 09:13:43 · 119 阅读 · 0 评论 -
每日一题 — 2020 - 04 - 08
知识点:前缀和 前后和的题好久没做了,其实昨晚大体知道这题怎么写了,但是不知道为啥最近懒得想题,愁人,还是要多做做题(多想)。 解题思路: 首先我们可以发现规律,就是往前移动,那么当前位置的数(要移动的数)的前 k 个数都会自增一倍 然后当前移动的数,他减小了 k 倍 所以我们最初处理下前缀和和一开始的总值即可 这里需要注意的是:他是必须移动的,就是不能把最初的值作为一个初始值 代码:...原创 2020-04-08 10:21:19 · 107 阅读 · 0 评论 -
Convenient For Everybody CodeForces - 939C
题目链接 解题思路: 给予 n 个时区, 然后在第一区间确定一个当地时间,让标准时间段s —— f 中可以参加比赛的人数最多。 (标准时间是统一的按照第一时区来进行规定,当第一时区的时间是1时,第二时区为2 ····· )在比赛时为 00:00 时,无法参加比赛,因此比赛时区的范围是 s <= h < f 首先我们读入n个时区参加比赛的人数,然后设置成第一个时区的标准时间...原创 2020-02-03 16:51:08 · 173 阅读 · 0 评论 -
AcWing 1230. K倍区间
题目链接 解题思路: 给与n , k ,然后给与 n 个数,让我们在 n 的序列中找出一段值 的和,使这个值为 k 的倍数,找出有多少个子序列符合这个要求。 首先我们想到前缀和,求出前缀和,然后利用 s[ r ] - s[ l -1 ] ,判断这个值是否为k 的倍数(利用取余即可),但是需要双重 for 循环,时间复杂度哦 1e10,明显超时。 所以我们想到一重 for 循环, ...原创 2020-02-03 13:17:40 · 90 阅读 · 0 评论 -
AcWing 99. 激光炸弹
题目链接 解题思路: 给予 n 个点,和爆炸范围 R,我们能炸 R * R 个点,利用前缀和,首先预处理出前缀和,然后再对每一块 R * R 区域进行计算 ,求出最大值。 (理解好炸的范围,以及处理好坐标的右下端点) 代码: #include <cstdio> #include <iostream> using namespace std; co...原创 2020-02-03 12:58:32 · 186 阅读 · 0 评论 -
Channels —— 牛客网
题目链接 题目 解题思路 利用前缀和思想: 利用 Sr - S (l - 1) 即可 (Si 为 i 时刻之前可以观看的时间) 错误:原本直接计算两者之间的差值,但是会出现一些偏差,效果不好,最后采用前缀和思想 AC代码 #include <iostream> #include <cstdio> #include <cmath> #include <...原创 2020-01-21 09:33:58 · 251 阅读 · 0 评论