摘要:
题意:给你一个图,求出每个节点所在的联通快的大小总和显然就是tarjan找强连通分量了,没啥好说//#pragma GCC optimize("O3")//#pragma G++ optimize("O3")#include#include#include#inclu... 阅读全文
摘要:
题意:给你一个图,求出每个节点所在的联通快的大小总和显然就是tarjan找强连通分量了,没啥好说//#pragma GCC optimize("O3")//#pragma G++ optimize("O3")#include#include#include#inclu... 阅读全文
摘要:
题意:给一棵树,每次删边或者询问连通性,强制在线其实这题做法很多嘛,简单说一下一眼看过去肯定是LCT啦,于是马上开始打打到一半发现似乎不用LCT?好像树剖也可以嘛结果发现树剖也不用,直接一个dfs序就可以了嘛用线段树维护每个点能到达的最远的祖先,删边的时候将整个区间覆... 阅读全文
摘要:
题意:给一棵树,每次删边或者询问连通性,强制在线其实这题做法很多嘛,简单说一下一眼看过去肯定是LCT啦,于是马上开始打打到一半发现似乎不用LCT?好像树剖也可以嘛结果发现树剖也不用,直接一个dfs序就可以了嘛用线段树维护每个点能到达的最远的祖先,删边的时候将整个区间覆... 阅读全文
摘要:
给你一个序列s,求出所有最长的区间[l,r]使得存在一个k∈[l,r]且对于任何i∈[l,r]都有s[k]|s[i]显然如果这个k存在,那么s[k]一定是s[l]~s[r]的最小值现在问题就成了,求一个最长的区间使得s[l]~s[r]的最小值=s[l]~s[r]的gc... 阅读全文
摘要:
给你一个序列s,求出所有最长的区间[l,r]使得存在一个k∈[l,r]且对于任何i∈[l,r]都有s[k]|s[i]显然如果这个k存在,那么s[k]一定是s[l]~s[r]的最小值现在问题就成了,求一个最长的区间使得s[l]~s[r]的最小值=s[l]~s[r]的gc... 阅读全文
摘要:
题意:给你一颗带权二叉树,求问要修改几次可以将其变成二叉搜索树?我们先跑出原树的中序遍历,那么我们问题变成如何用最少的次数将序列变成严格上升显然我们可以跑出LIS,那么n-LIS就是答案,但是这样做是有问题的,比如1,4,2,3,LIS=3但是显然我们只修改一次是不行... 阅读全文
摘要:
题意:给你一颗带权二叉树,求问要修改几次可以将其变成二叉搜索树?我们先跑出原树的中序遍历,那么我们问题变成如何用最少的次数将序列变成严格上升显然我们可以跑出LIS,那么n-LIS就是答案,但是这样做是有问题的,比如1,4,2,3,LIS=3但是显然我们只修改一次是不行... 阅读全文
摘要:
题意:给你一颗树,每次选择一条简单路径进行染色,问最后每条边的颜色此题非常之坑,各种卡,主要是卡栈空间首先看题就写了个树剖,让后各种TLE和RE,开了O3还是不行#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#... 阅读全文
摘要:
题意:给你一颗树,每次选择一条简单路径进行染色,问最后每条边的颜色此题非常之坑,各种卡,主要是卡栈空间首先看题就写了个树剖,让后各种TLE和RE,开了O3还是不行#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#... 阅读全文