自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 【Codeforces - 1592C】Bakry and Partitioning

原题链接:Bakry and Partitioning题意给你一棵共n个节点的树,每个节点有对应的值,要求删除1~(k-1)条边使得所有连通块的异或和相同。分析对于树上异或和问题,通用做法是先处理出每个节点与其子树所有节点的异或和,一遍dfs便可获得。一棵树删除一条边后,便会产生两个连通块,也可称为子树,【原根节点所在子树的异或和】需要异或上 【另一子树的异或和】,因为一个数连续异或相同的数两次还是原来的数。由此可见,当只删除一条边时,要保证两个新的连通块异或和相同,当且仅当原来的树的异或和等于

2021-10-13 00:52:40 412

原创 【UVA - 12275】Sensor network 生成树

【UVA - 12275】Sensor network 题意给出n个点m条边,求生成树最大边与最小边的最小差值。思路把边排序一遍,按最小生成树模板进行加边,若碰到环则搜索环中最小的边,并将其删去。当边数等于n-1时即可获得答案,取最小值输出即可。代码#include <iostream>#include <algorithm>#include <cstring>#include <set>using namespace std;cons

2021-08-12 14:05:51 99

原创 【学习笔记】Tarjan算法

算法简介强连通:有向图 G 中任意两个结点连通。强连通分量(SCC):极大的强连通子图。Tarjan算法的原理是利用DFS生成树求强连通分量。其中为图中每个节点uuu维护了以下变量:变量解释dfn[u]节点uuu在深度优先搜索中的次序,简称dfs序low[u]以节点uuu为根的子树中,通过一条不在搜索树上的边到达的节点dfn的最小值求强连通分量的节点时,可以使用栈进行记录dfs遍历的每个节点,当dfn[u]=low[u]dfn[u]=low[u]dfn[u]=l

2021-06-29 15:20:58 131

原创 【学习笔记】树链剖分(重链剖分)

目录重链剖分概念预处理①DFS1()②DFS2()修改查询操作①对于任意两节点间的路径上所有节点修改 *O(logn)^2*查询 *O(logn)^2*②对于以任意节点为根的子树修改 *O(logn)*查询 *O(logn)*数据结构完整代码(无注释)重链剖分概念树链剖分可将树划分成若干条不相交的链的形式,每条链都是自底向上的。重链剖分能保证划分出的每条重链与轻链上的节点 DFS 序连续,并以此作为节点的序号,每颗子树中的所有节点序号在[a,a+size]范围内(子树根节点序号为a,子树大小为siz

2021-04-30 00:44:58 216

原创 【Gym - 101532F】Strings and Queries ST表

文章目录解题思路1.计算子串回文数2.存储字符串3.ST表完整代码原题链接题目大意:给定n个字符串与q个询问,每个字符串均按编号顺序(1~n)输入。对于每个询问均有字符串a、b(记a的编号为l,b的编号为r),需要输出 [l , r] 间拥有最大回文数的编号。本蒟蒻一开始以为用线段树查询区间最大值就能过,结果样例2就给T飞了。观察发现本题离线查询,完全可以使用ST表查询O(1)解决。解题思路1.计算子串回文数cbbaca 的子回文串有 c b b a c a bb aca,很容易联想到区间

2021-04-20 13:20:54 223

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除