每日一题-暑假
文章平均质量分 50
。
magnte
这个作者很懒,什么都没留下…
展开
-
Week-2
最大面积 详解可看csdn 代码: #include<bits/stdc++.h> using namespace std; const int N = 2010; int n,m; char g[N][N]; int l[N],r[N],q[N]; int U[N],D[N],L[N],R[N]; int s[N][N]; int cacl(int a[],int n)//单调栈计算最大值 { int tt = 0; a[0] = a[n + 1] = -1;原创 2021-08-26 12:04:12 · 78 阅读 · 0 评论 -
Week-1
一、最大异或和 题意: 对一个长度为n的数组,求长度小于m的子数组的最大异或和。 暴力双指针做法复杂度n2会超时。 做法:对于区间和,先预处理出一个前缀异或和,所以题目转化为对数组找两个距离小于m的数使他们的异或值最大,就变成了加了限制条件的最大异或对这道题了。用01trie树做,对于限制条件,可以定义一个cnt数组表示树中每个节点被走过的次数,不在m的区间内的数,他们在树中走过的点cnt全部-1,复杂度 nlogn。 关键点:找区间转化为找点、01trie树找最大异或对、用cnt数组处理限制条原创 2021-08-23 22:14:18 · 79 阅读 · 0 评论