![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛客多校
lushanlushan0026
退役acmer,准研究生
展开
-
牛客多校4 A Ancient Distance 线段树+dfs序
思路源于某巨佬:巨佬博客对于 1<=k<=n 答案最大是n-1 最小是0 于是我们从大到小枚举答案(这样的话小的值会覆盖大的值) 然后看这个答案对应的最小k是多少 最后在做一遍前缀最小值就行了找ans对应最小k的过程肯定是贪心的 我们找到深度最大的点 向上走ans步(找ans级祖先) 然后把它的子树都标记就可以了当最大的深度<=nowans时 退出循环当ans 确定的时候 最多进行 n/(ans+1) 次操作 每次操作复杂度是 logn级别的所以 总...原创 2020-08-02 17:45:59 · 118 阅读 · 0 评论 -
牛客多校 Interval 主席树套路
题意就不说了这样的题乍一看感觉区间& 会有n^2级别个不同的数 其实仔细分析是没有那么多的我们考虑维护一个map 这个map记录了当前位置以前的数&起来后可以得到的值以及他们的位置 (是连续的 可以理解为后缀&) 那么我们加入当前位置的数 并且与map中的值进行&操作(这一步我们最多得到logn个值)然后就是一个主席树的套路了 对于在前面出现过的值 我们把它的位置-1 并且在当前位置+1 然后更新这个值的位置为当前位置 这个题可以算是区...原创 2020-08-01 10:34:47 · 158 阅读 · 0 评论 -
牛客多校2 Happy Triangle FHQ-treap 维护前驱差
题目还是不错的 需要仔细分析一下题意:给一个可重复集合,最初为空。每次操作为 op,x如果op==1,向集合中插入x如果op==2,删除集合中的x(保证x一定在集合中)如果op==3,询问集合中是否存在两个数a,b使得a,b,x可以构成三角形我们分析一下a,b,x的关系如果 a<b<=x 根据三角形的构成条件 必须满足 a+b>x如果 a<=x<=b 则必须满足 a+x>b 那么肯定是 a是x前驱 b是x的后继的时候最好如...原创 2020-07-16 08:06:34 · 163 阅读 · 0 评论 -
牛客多校2 Fake Maxpooling
单调栈的模板题吧 没啥好讲的 被卡了一点空间 去掉了一个数组就过了参考洛谷理想的正方形#include <bits/stdc++.h>using namespace std;const int N = 5002;int n,m,k,FRONT,BACK;int Q[N];int X[N][N];int a[N][N];typedef long long ll;int main(){ scanf("%d%d%d",&n,&m,&k); ...原创 2020-07-15 18:23:00 · 109 阅读 · 0 评论