02 2019 档案
摘要:浅谈$Trie$: "https://www.cnblogs.com/AKMer/p/10444829.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3261" 假设现在所有数的异或和是$xor\_sum$,$sum\_xor[
阅读全文
摘要:浅谈$Trie$: "https://www.cnblogs.com/AKMer/p/10444829.html" 题目传送门: "http://poj.org/problem?id=2564" 记$f[i]$表示从第$i$个字符串开始可以变换多长。 每次把当前字符串在$Trie$树上搜索,设$dp
阅读全文
摘要:浅谈$Trie$: "https://www.cnblogs.com/AKMer/p/10444829.html" 题目传送门: "https://www.luogu.org/problemnew/show/P4551" 由于一个数异或自己等于$0$,所以$u$到$v$的路径边权异或和就是$u$到$
阅读全文
摘要:浅谈$Trie$: "https://www.cnblogs.com/AKMer/p/10444829.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1590" 把秘密信息建一棵$Trie$,在节点上记录经过这个结点的字符串$s
阅读全文
摘要:浅谈$Trie$: "https://www.cnblogs.com/AKMer/p/10444829.html" 题目传送门: "http://poj.org/problem?id=2503" $Trie$树模板题,就是要你实现一个字典查找的功能。读入十分的恶心。 时间复杂度:$O(len n)$
阅读全文
摘要:所谓$Trie$就是字典树。 何为字典树?想象一下我们平时用拼音查字法在字典树查汉字的时候,一位一位确定这个汉字的拼音从而翻到我们想要看的那一面。 所以$Trie$树跟字典一样,是一种逐位检索查找信息的数据结构。 对于$Trie$树的每一条边,都代表一个字符,从根走到某一个点就是一个字符串。我们可以
阅读全文
摘要:浅谈$KMP$: "https://www.cnblogs.com/AKMer/p/10438148.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2384" 这是一种特殊的$KMP$。匹配不再是直接判断相等了。 假设现在$[1
阅读全文
摘要:浅谈$KMP$: "https://www.cnblogs.com/AKMer/p/10438148.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4974" 首先$per_i=i nxt_i$,然后我们可以根据$per_i$求
阅读全文
摘要:浅谈$KMP$: "https://www.cnblogs.com/AKMer/p/10438148.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3670" 假设$step_i$是这么造出来的:
阅读全文
摘要:浅谈$KMP$: "https://www.cnblogs.com/AKMer/p/10438148.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1355" 跟 "POJ1961" 类似,答案就是$n nxt_n$ 时间复杂度
阅读全文
摘要:浅谈$KMP$: "https://www.cnblogs.com/AKMer/p/10438148.html" 题目传送门: "http://poj.org/problem?id=1961" 根据研究发现,如果一个字符串可以被若干个字符串首尾相连拼接而成,那么必然存在$nxt_n\ne0,n\ m
阅读全文
摘要:$KMP$算法是一种改进的字符串匹配算法,由$D.E.Knuth$,$J.H.Morris$和$V.R.Pratt$同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称$KMP$算法)。$KMP$算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就
阅读全文
摘要:浅谈$Manacher$: "https://www.cnblogs.com/AKMer/p/10431603.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4755" 用二分加$hash$判断是否能在原串已有的回文串上加更多的
阅读全文
摘要:浅谈$Manacher$: "https://www.cnblogs.com/AKMer/p/10431603.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2084" 题目求的就是偶数长度回文串个数。不过匹配从相等变成了异或等
阅读全文
摘要:浅谈$Manacher$: "https://www.cnblogs.com/AKMer/p/10431603.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3790" 问题就是求用多少个回文子串可以覆盖整个原串。 把回文子串的
阅读全文
摘要:浅谈$DP$: "https://www.cnblogs.com/AKMer/p/10437525.html" 题目传送门: "https://www.luogu.org/problemnew/show/P1064" 分组背包: "https://www.cnblogs.com/AKMer/p/10
阅读全文
摘要:浅谈$DP$: "https://www.cnblogs.com/AKMer/p/10437525.html" 题目传送门: "https://www.luogu.org/problemnew/show/P1757" 分组背包,把一组物品看做是一个物品,不过这个物品可以有很多种变幻,然后像$01$背
阅读全文
摘要:浅谈$DP$: "https://www.cnblogs.com/AKMer/p/10437525.html" 题目传送门: "http://poj.org/problem?id=1742" 多重背包,每个物品可以使用若干次的背包,我们只需要多枚举一次当前要使用多少次然后把这么多次结合在一起,当做$
阅读全文
摘要:浅谈$DP$: "https://www.cnblogs.com/AKMer/p/10437525.html" 题目传送门: "https://www.luogu.org/problemnew/show/P1616" $01$背包: "https://www.cnblogs.com/AKMer/p/
阅读全文
摘要:浅谈$DP$: "https://www.cnblogs.com/AKMer/p/10437525.html" 题目传送门: "https://www.luogu.org/problemnew/show/P1048" 像这种给你$n$个物品,每个物品有占用体积和价值,求$m$体积的背包能装下的最大的
阅读全文
摘要:浅谈$DP$: "https://www.cnblogs.com/AKMer/p/10437525.html" 题目传送门: "https://www.luogu.org/problemnew/show/P1140" 以已经匹配完了的长度为阶段,$f[i][j]$为状态,表示已匹配了第一个串的$i$
阅读全文
摘要:浅谈$DP$: "https://www.cnblogs.com/AKMer/p/10437525.html" 题目传送门: "https://www.luogu.org/problemnew/show/P1004" 设$f[i][j][k][l]$表示第一条路从$(1,1)$走到$(i,j)$,第
阅读全文
摘要:浅谈$DP$: "https://www.cnblogs.com/AKMer/p/10437525.html" 题目传送门: "http://acm.hdu.edu.cn/showproblem.php?pid=1423" 最长上升子序列: "https://www.cnblogs.com/AKMe
阅读全文
摘要:浅谈$DP$: "https://www.cnblogs.com/AKMer/p/10437525.html" 题目传送门: "https://www.luogu.org/problemnew/show/P1439" 设$f[i][j]$表示在$a$序列中$[1,i]$和$b$序列的$[1,j]$的
阅读全文
摘要:浅谈$DP$: "https://www.cnblogs.com/AKMer/p/10437525.html" 题目传送门: "https://www.luogu.org/problemnew/show/AT2827" $LIS$就是$Longest$ $Increasing$ $Subsequen
阅读全文
摘要:浅谈状态空间: "https://www.cnblogs.com/AKMer/p/9622590.html" 所谓$DP$,就是$Dynamic$ $programming$,动态规划算法。 $OI$中大部分问题的本质是解决对状态空间的遍历以及处理,而$DP$则是针对某一类满足特定条件的问题,对状态
阅读全文
摘要:浅谈$Manacher$: "https://www.cnblogs.com/AKMer/p/10431603.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=2565" 统计一下每个点做靠左的能覆盖它的回文串中心$lef
阅读全文
摘要:浅谈$Manacher$: "https://www.cnblogs.com/AKMer/p/10431603.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=2342" 假设我已经将原字符串的$p$数组求好了。 双倍回文
阅读全文
摘要:$Manacher$是由一个叫做$Manacher$的人发明的能在$O(n)$时间内找出一个字符串长度最长的回文子串的算法。 由于偶回文串形如$abba$这样的不好找对称中心,所以我们在每个字符串之间插入一个' ',就变成 a b b a 了,这样子就能找到对称中心了。 $Manacher$的核心数
阅读全文
摘要:浅谈离线分治算法: "https://www.cnblogs.com/AKMer/p/10415556.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4604" 整体二分套$CDQ$分治,判断一个询问的答案是否大于等于$mid$
阅读全文
摘要:浅谈离线分治算法: "https://www.cnblogs.com/AKMer/p/10415556.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=4237" 考虑按$y$值从小到大排序之后分治。完全在下半部分和上半部
阅读全文
摘要:浅谈离线分治算法: "https://www.cnblogs.com/AKMer/p/10415556.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4009" 树套树写法: "https://www.cnblogs.com/A
阅读全文
摘要:浅谈离线分治算法: "https://www.cnblogs.com/AKMer/p/10415556.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3745" 我们对于所有区间,要么在分治的$mid$左边,要么在分治的$mid
阅读全文
摘要:浅谈离线分治算法: "https://www.cnblogs.com/AKMer/p/10415556.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3110" 同 "BZOJ1901" ,不过是把单点修改区间询问改成区间修改区
阅读全文
摘要:浅谈离线分治算法: "https://www.cnblogs.com/AKMer/p/10415556.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2716" 对于每个询问,分为四部分来做。 1、左下角:用$x+y+tmp$来
阅读全文
摘要:浅谈离线分治算法: "https://www.cnblogs.com/AKMer/p/10415556.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2527" 我们增加一次陨石雨,最后一次陨石雨的会给每个收集站都增加$inf$
阅读全文
摘要:浅谈离线分治算法: "https://www.cnblogs.com/AKMer/p/10415556.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4170" 出题人语文小学水平没达到系列( 这就是一个有时间先后的二维加点二维
阅读全文
摘要:浅谈离线分治算法: "https://www.cnblogs.com/AKMer/p/10415556.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1901" 把初始序列看作是在$n$次在$i$位置上插入$a_i$的操作。 把
阅读全文
摘要:浅谈离线分治算法: "https://www.cnblogs.com/AKMer/p/10415556.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3262" 我们可以将每个花看做是一次插入和一次询问,并且在时间轴上的顺序是按
阅读全文
摘要:很多人似乎搞不清楚$CDQ$分治和整体二分有什么区别,但其实这两者区别极其之大,除了都是离线分治算法以外,可以说没有任何共同点。所以我特地在此把两者放在一起讲讲,搞清楚这两者之间不同之处与作用。 在接触离线分治算法之前,我们先来认识认识离线分治算法能解决的问题。 离线分治算法能解决的问题 离线分治算
阅读全文
摘要:浅谈$K D$ $Tree$: "https://www.cnblogs.com/AKMer/p/10387266.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4520" 说实话,写了这个题之后我才明白$K D$ $Tree$
阅读全文
摘要:浅谈$K D$ $Tree$: "https://www.cnblogs.com/AKMer/p/10387266.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4605" 在写此题之余,我在某东上买了一箱$24$瓶装的崂山白花
阅读全文
摘要:浅谈$K D$ $Tree$ 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=4255" 莫队加$kd$ $tree$,直接用链加的方式动态删除和插入某个点,对于每个点维护子树内$cnt$。加上剪枝复杂度较为优越。 时间复杂度:$O(
阅读全文
摘要:浅谈$K D$ $Tree$: "https://www.cnblogs.com/AKMer/p/10387266.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3489" 主席树套主席树写法: "https://www.cnb
阅读全文
摘要:浅谈$K D\ Tree$: "https://www.cnblogs.com/AKMer/p/10387266.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4130" 这题跟 "$BZOJ4358:permu$" 一样。 不
阅读全文
摘要:浅谈$K D$ $Tree$: "https://www.cnblogs.com/AKMer/p/10387266.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4358" 把询问当做一个个点,从小到大对于每个权值,在$K D$
阅读全文
摘要:浅谈$K D$ $Tree$: "https://www.cnblogs.com/AKMer/p/10387266.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4066" 裸的强制在线插入点,像替罪羊树那样重建不平衡的子树即可
阅读全文
摘要:浅谈$K D$ $Tree$: "https://www.cnblogs.com/AKMer/p/10387266.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4154" 每个节点看做是点$(dfn_i,dep_i)$,然后对
阅读全文
摘要:浅谈$K D$ $Tree$: "https://www.cnblogs.com/AKMer/p/10387266.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4303" 把每个元素看成点$(i,a_i)$即可,然后裸的正交范
阅读全文
摘要:浅谈$K D$ $Tree$: "https://www.cnblogs.com/AKMer/p/10387266.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2648" $K D$ $Tree$最近点查询裸题,注意先把所有点
阅读全文
摘要:初步认识$K D$ $Tree$ $K D$ $Tree$是一种基于空间分割的二叉树形数据结构,一般用于高维信息检索。因为$OI$中很多问题都能转化为高维信息检索,所以$K D$ $Tree$的用途十分广泛。 $K D$ $Tree$树高严格为$logn$每一个结点都代表着一个高维信息点。每一棵子树
阅读全文
摘要:题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3170" 通过分析可以发现,题目所说的两点之间的距离就是切比雪夫距离。 两点之间欧几里得距离:$\sqrt{(x_1 x_2)^2+(y_1 y_2)^2}$ 两点之间曼哈顿距离:$|x_1
阅读全文
摘要:浅谈莫队: "https://www.cnblogs.com/AKMer/p/10374756.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3052" 把问题搬到欧拉序上来就是裸的带修改莫队了。 每次加减某种颜色直接加减个数系
阅读全文
摘要:浅谈莫队: "https://www.cnblogs.com/AKMer/p/10374756.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2120" 分块做法: "https://www.cnblogs.com/AKMer/
阅读全文
摘要:浅谈莫队: "https://www.cnblogs.com/AKMer/p/10374756.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3809" 用树状数组维护区间内元素个数,直接在树状数组上统计即可。 然后就$TLE$
阅读全文
摘要:浅谈莫队: "https://www.cnblogs.com/AKMer/p/10374756.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3289" 用树状数组维护区间内元素的个数,动态删/加逆序对即可。 时间复杂度:$O(
阅读全文
摘要:浅谈莫队: "https://www.cnblogs.com/AKMer/p/10374756.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2038" 首先答案肯定是$\frac{\sum cnt_i (cnt_i 1)}{r
阅读全文
摘要:所谓莫队,就是莫涛队长发明的算法。 这是一种什么算法呢?首先你得会分块: "https://www.cnblogs.com/AKMer/p/10369816.html" 是不是开始吐槽分块的博客写的啥玩意儿了……没事,莫队不会那么“浅”。 便于本人偷懒,以下假设序列长度与询问个数同阶。 只处理询问的
阅读全文
摘要:浅谈分块: "https://www.cnblogs.com/AKMer/p/10369816.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2724" 对于每次询问的答案,要么是中间整块的众数,要么是在两侧不完整的块出现过的数
阅读全文
摘要:浅谈分块: "https://www.cnblogs.com/AKMer/p/10369816.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2120" 树套树做法: "https://www.cnblogs.com/AKMer
阅读全文
摘要:浅谈分块: "https://www.cnblogs.com/AKMer/p/10369816.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2141" 第一次的答案可以直接用树状数组求。 如果交换$pos_1$和$pos_2$
阅读全文
摘要:浅谈分块: "https://www.cnblogs.com/AKMer/p/10369816.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2002" 显然如果没有修改的话,那么这就是一道倒着扫一遍就完事的傻逼题。记录每个点要
阅读全文
摘要:浅谈分块: "https://www.cnblogs.com/AKMer/p/10369816.html" 题目传送门: "http://poj.org/problem?id=3468" 分块裸题。对于每个块记录权值和与加标记即可。详情见代码。 时间复杂度:$O(n\sqrt{n})$ 空间复杂度:
阅读全文
摘要:分块是一种处理序列问题的 科技 ,这种算法把序列分成若干段,对于区间的处理与询问,遵从“大段维护,小段朴素”的思想。如果我要处理或者询问的区间包含了某一段,那么可以在极小的时间复杂度内把这一段的信息进行维护,对于不包含的就直接暴力更新。等到要询问的时候,把被询问区间包含的段的信息直接整个贡献进总答案
阅读全文
摘要:浅谈并查集: "https://www.cnblogs.com/AKMer/p/10360090.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1202" 带权并查集,同 "POI1733" 。 时间复杂度:$O(Tm\alph
阅读全文
摘要:浅谈并查集: "https://www.cnblogs.com/AKMer/p/10360090.html" 题目传送门: "http://poj.org/problem?id=1733" 带权并查集裸题。区间和可以由前缀和相减得到,如果区间$[l,r]$为奇数,那么$sum[l 1]$与$sum[
阅读全文
摘要:浅谈并查集: "https://www.cnblogs.com/AKMer/p/10360090.html" 题目传送门: "https://www.luogu.org/problemnew/show/P2024" 对于每个生物,我们都可以将其拆成三个点,一个是自己$self$,一个是食物$eat$
阅读全文
摘要:浅谈并查集: "https://www.cnblogs.com/AKMer/p/10360090.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=3296" 把每个牛会的语言合并在一起,然后对于没有任何一头牛会的语言扔掉。 那么答
阅读全文
摘要:浅谈并查集: "https://www.cnblogs.com/AKMer/p/10360090.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1116" 树是$NIE$,基环树是$TAK$,任意有环的图都可以通过删边变成基环树
阅读全文
摘要:浅谈并查集: "https://www.cnblogs.com/AKMer/p/10360090.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=3624" 题目要求的就是恰好包含$k$条鹅卵石路的生成树。 首先我们用水泥
阅读全文
摘要:浅谈并查集: "https://www.cnblogs.com/AKMer/p/10360090.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=2054" 倒着枚举颜色覆盖,每次暴力枚举区间内还没有颜色的格子涂色,然后用并查集合
阅读全文
摘要:浅谈并查集: "https://www.cnblogs.com/AKMer/p/10360090.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=1370" 根据题目意思模拟,此题难点在于看懂题目。 时间复杂度:$O(\alpha
阅读全文
摘要:浅谈并查集: "https://www.cnblogs.com/AKMer/p/10360090.html" 题目传送门: "http://poj.org/problem?id=1456" 堆作法: "https://www.cnblogs.com/AKMer/p/10287566.html" 贪心
阅读全文
摘要:浅谈并查集: "https://www.cnblogs.com/AKMer/p/10360090.html" 题目传送门: "https://lydsy.com/JudgeOnline/problem.php?id=4195" 由于等于具有传递性,所以此题可以用并查集完美的解决。 把相等的元素放在一
阅读全文
摘要:所谓并查集,就是一种支持并与查的数据结构,是一种集合。并即为合并,查即为查询。 我们给每个集合选择一个代表元素,每个元素记录一个$fa$数组,表示它所在的集合的代表元素。合并两个集合,我们只需要将其中一个集合的代表元素的$fa$数组赋值为另外一个集合的代表元素即可。代表元素的$fa$就是自己。这样子
阅读全文
摘要:浅谈队列: "https://www.cnblogs.com/AKMer/p/10314965.html" 题目传送门: "https://www.lydsy.com/JudgeOnline/problem.php?id=3141" 很好的一道单调队列题…… 先把$0$变成$ 1$,然后$sum_i
阅读全文

浙公网安备 33010602011771号