摘要: 连通性问题离不开两个定义的数组,low[]与dfn[],dfn数组存的是节点的dfs序,low[]存的是某个节点不通过父亲节点所能到达的点中dfn值最小的点的dfn值。 1.割点: 割点的定义是指在一个无向图中,若删去该点,则会使原来的一个联通块变为至少两个联通块。 那么我们考虑根据dfn[u]和l 阅读全文
posted @ 2023-11-16 21:54 瑞恩尼lower 阅读(97) 评论(0) 推荐(0)
摘要: 以下内容无优先级顺序,全都要做到。 1.开考30分钟内,浏览完四道题,并大概想出每道题的暴力,特殊性质点的思路,并将相应思路注释写在相应题目cpp中。 2.正常开题目顺序,1,2,3,4,每道题第一次想正解时间不要超过50min,如果超过,则换题。 3.在前三个小时内写完所有的暴力点以及特殊性质点, 阅读全文
posted @ 2023-11-13 17:58 瑞恩尼lower 阅读(72) 评论(0) 推荐(1)
摘要: 可持久化线段树(Persistent Segment Tree),可以用来动态维护区间内每个数的出现个数。 可持久化线段树本质上其实是线段树的差分,通过两棵值域线段树的减法可以在O(logn)的时间复杂度内获得该区间内某个数的出现次数。 常见的操作有求区间最大值与求区间内不同的数的个数,但是求区间内 阅读全文
posted @ 2023-11-07 21:33 瑞恩尼lower 阅读(39) 评论(0) 推荐(0)
摘要: 你说你喜欢没有雨季的阴, 于是后来, 我从未向你写过潮湿的信。 斜阳的最后一缕光照在小巷中, 但也浸染了两双眼眸, 从此以后, 有些永恒不分夜昼。 群星迷住夜晚,月撕开窗帘,而我悄悄潜入某人的眠。 故事的开头是很久很久,那时春风吹皱,少年衣袖。可时间又过了很久很久,旧时幻梦,都早已于回忆中生锈。 那 阅读全文
posted @ 2023-10-29 19:22 瑞恩尼lower 阅读(187) 评论(0) 推荐(1)
摘要: 数位DP如其名字,对于一个整数,将其每个数位作为阶段进行DP,题目要求往往是在某个区间内满足某个条件的数有多少个,区间长度也往往很大,一般超过10的八次方,也就没办法一个个枚举然后check。当然,也有其他形式的,但其都有一个共同点,数需要满足的条件可以通过数位之间的关系来表达和判断。并且无后效性。 阅读全文
posted @ 2023-10-17 18:26 瑞恩尼lower 阅读(41) 评论(0) 推荐(1)
摘要: 该文主要记录一些OI题目的技巧或是思想。 1.转换遍历对象与改变求和顺序: 对于某些需要枚举序列元素来获取信息的题目,当n很大以至于O(n)也超时的时候,我们可以考虑枚举序列中数的值,把枚举对象转换为值域,枚举值域的贡献。 如Effects of Anti Pimples这题。 很显然有一个做法是枚 阅读全文
posted @ 2023-10-17 09:48 瑞恩尼lower 阅读(93) 评论(0) 推荐(1)
摘要: Trie是一种维护字符串集合的数据结构,通常这个字符串也可以作为整数来完成一些二进制上的维护,名叫01trie。 trie的维护思路很简单,trie建h层,h>=所要维护的最长字符串的长度,然后对于每一个节点,分别有26个子节点表示26个小写字母。这样层层相连必定可以表示出来所有字符串。我们要维护字 阅读全文
posted @ 2023-10-13 21:48 瑞恩尼lower 阅读(62) 评论(0) 推荐(1)
摘要: Manacher算法 应用:在O(n)的时间复杂度内快速求出一个字符串中每个位置的最长回文串长度。 原理:我们先考虑暴力如何解决这个问题,直接枚举每个字符然后以此为中心向两边扩散,直到找到第一个不一样的字符再将中心字符向后枚举,在全A串时可以卡到最差复杂度O(n^2)。我们考虑通过是否可以通过已知信 阅读全文
posted @ 2023-10-13 19:16 瑞恩尼lower 阅读(44) 评论(0) 推荐(0)
摘要: KMP(Knuth–Morris–Pratt)算法 该算法用于在O(n)的时间内找到多个串内搜索一个目标子串的位置 思路:我们先考虑如何暴力找一个串内所有目标子串的位置,很显然,我们只需要遍历每个串的每个字符,然后暴力check这个字符作为起始所形成的目标长度的串是不是目标串即可。 考虑优化,我们这 阅读全文
posted @ 2023-10-12 21:11 瑞恩尼lower 阅读(27) 评论(0) 推荐(0)
摘要: 二重数点是这样一个问题:给一个长为 n 的序列,有 m 次查询,每次查区间 [l,r] 中值在 [x,y] 内的元素个数。 这种问题可以转化为在二维平面上查询一个左上端点为(l,x),右下端点为(r,y)的矩形内的点集大小。 于是便可以使用二维前缀和,扫描线,或树套树,或离散化后树状数组。 二维前缀 阅读全文
posted @ 2023-10-09 21:22 瑞恩尼lower 阅读(43) 评论(0) 推荐(1)