前缀和
文章平均质量分 85
CCloth
这个作者很懒,什么都没留下…
展开
-
[二分][二维前缀和]Valiant‘s New Map Codeforces1731D
很显然可以二分,关键在于判断是否存在满足题意的边长为k的子矩阵。判断的时候可以先扫一遍矩阵,将其中大于k的元素修改为k,然后求二位前缀和,扫描所有边长为k的子矩阵,若其二维区间和大小为k^3,那么就说明存在满足题意的子矩阵。给出一个n*m的矩阵,找出其中最大的一个k*k的子矩阵,满足其中所有的数组都大于等于k。原创 2022-12-30 12:33:07 · 684 阅读 · 0 评论 -
[前缀和]Tokitsukaze and Strange Inequality Codeforces1678C
可以维护一个前缀和数组num,num[i][j]表示前i个数中大于j的数有多少个,这样对于确定的区间[a+1, c-1]中满足p[b] > p[d]的个数就是num[c-1][p[d]]-num[a][p[d]],不过d的位置也是未知的,也需要枚举,时间复杂度就是O(n^3)了,接下来考虑优化掉最内层循环。有一个数组p,求有多少个四元组(a, b, c, d)满足p[a] < p[c] 且 p[b] > p[d],并且a < b < c < d。原创 2022-09-25 09:48:44 · 292 阅读 · 0 评论 -
[三维前缀或]Jobs (Easy Version) 2022牛客多校第4场 D
实际上由于公司数很少,最多也才10个公司,那么可以用二进制位来标识某一公司,同时由于我们只关注(i,j,k)能否胜任,并不关注在一个公司内它能胜任几个职位,所以可以用前缀或来维护,这样大体思路也就明确了,用三维前缀或中的第i位来维护第i个公司的职位信息,由于位或运算时各位是相互独立的,所以公司和公司之间不会相互影响,最终只需要统计每个人三属性对应的前缀或值中1的个数,这就是他能胜任的职位数。...原创 2022-07-31 14:45:08 · 556 阅读 · 0 评论