摘要:
这里给出一种树剖+倍增的方法 给出的容器序列记为$P$ 首先我们对树进行重链剖分,每个点得到了一个新的编号 对每一个宝石种类开一个$vector$ 然后我们把每个点的树剖编号装入其自身宝石对应的$vector$ 我们设$f[i][j]$表示在 \(i\) 到根的链上权值为$ P[w[i]+2^j]$ 阅读全文
摘要:
\(Dance \ \ links\ \ X\) \(Dance\) \(links\) $X$是一种高效的处理精准覆盖问题的算法 常见精准覆盖问题包括但不限于:棋盘问题、数度问题、$k$皇后问题(话说用爆搜这不杀鸡一样? 经典题目:八皇后、靶形数独、智(障)慧珠 $DLX$算法是基于对$X$算法的 阅读全文
摘要:
发现题解里面没有纯$cdq$做法,这里提供一下 首先把所有加油站按$c$排序,容易得到 $$f[i] = min(f[j] + c[i] * ∣x[i]-x[j]|) $$ 表示从$j\rightarrow i$的一次转移 f[i]表示$i\rightarrow End$的最小花费 显然复杂度是$O 阅读全文
摘要:
整体二分一类题目中的高端题 如果不是有向图,这个题也就是个紫题水平。直接倒序加边,每个点维护一棵权值线段树,再用并查集判联通块即可…… 但是,它是有向图…… 这意味着我们根本不知道什么时候他会构成连通块。 考虑每个有向边,对一条边连接的两个点来说,肯定有一个时刻它们不再在同一个连通块里,所以单个边考 阅读全文
摘要:
题目描述 给定$n$个非负整数数$a_1$,\(a_2\) , \(a_3\) \(\cdots\) \(a_n\),对于所有 \(1<=i<j<=n\),求出$a_i ; xor ; a_j$ 求在得到的$n*(n-1)/2$个数 中的前$k$大的和。 对于$30%$的数据,\(n<=500\) 阅读全文
摘要:
我承认我是个傻逼 也只有我这么离谱会用$SAM$来求$SA$了 对这道题来说,还是比较简单的,只需要复制原串一遍贴到后面,然后求一遍$SA$即可 接下来我给诸位介绍一下我研究了两个下午,然后$MLE$的成果 首先我们对字符串建出$SAM$,考虑S$AM$的本质是一个$DAG$图和一棵后缀树 因为我们 阅读全文
摘要:
一个神奇的数据结构 , 当数据随机情况下可以乱杀 又名珂朵莉树 基本概念与条件性 利用set维护序列的数据结构 , 将原序列分为了若干块 , 用三元组(l,r,sum)表示 例如:2 3 3 3 4 2 7 7 8 \((1,1,2) , (2,4,3) , (5,5,4) , (6,6,2) , 阅读全文
摘要:
最近学到的数学知识有一点多,需要整理整理 \(Excrt\) 应该是NOIp的基础内容,但我现在还没有掌握扎实,整理下来 给定n个同余方程 \(\begin{cases}x \equiv r_1 \ \ mod \ \ m_1\\x \equiv r_2 \ \ mod \ \ m_2\\ \vdo 阅读全文
摘要:
本文采用的是使用 SAM 求 SA。 若您对 SAM 感兴趣,这里安利这篇文章。 虽然该题题解中确实有几篇提到过如何使用 SAM 求 SA,但是均不能在 \(128MB\) 的限制下通过此题。 所以本文着重介绍两点: $1$° 使用 SAM 求后缀排序 $2$° 空 间 压 缩 其中,第二点无论是在 阅读全文
摘要:
平邑一中集训被容斥 dp 和数位 dp 吊起来打 打算回来补补 dp P1447 [NOI2010] 能量采集 结果是个神仙数学题 看到题一开始以为是个仪仗队 后来才发现 \(i\) 和 \(j\) 限制不同,欧拉函数不能一下切掉 看了题解之后才知道是容斥题 求 \(\sum_{i=1}^n\sum 阅读全文
摘要:
线段树分裂 给自己看的,就挑一下重点 需要动态开点…… 用 \(\rm new\) 函数的话也没什么,不过不能写回收栈了,直接 \(\rw delete\) 即可 \(split\) 类似于主席树,直接指针指过去即可,记得要把原指针清掉 剩下的细节都在代码里写了 #include <bits/std 阅读全文
摘要:
我没想到省选 day2 宝石还可以用分块,话说当时我旁边的哥们就打了一个树分块…… 分块是个极不优美的做法,难写的离谱……(当然莫队系列除外 P6177 Count on a tree II/【模板】树分块 本题强制在线。所以莫队被废了 看到题目让求路径颜色数,考虑复杂度比较高的分块做法(话说我一开 阅读全文
摘要:
优雅程度能和莫队分庭抗礼了 树上启发式合并 启发式合并,是一种基于人类直觉的优化方法。 在永无乡那个题中已经证过了 树上启发式合并,在树上按照子树大小来合并子问题求解 证明 我们反过来考虑,如果你写了一个启发式合并。我是一个弱智出题人,认为这个算法是错误的,想要卡掉你,我会怎么卡。肯定是尽量把你合并 阅读全文
摘要:
P1177 基数排序 基本理论就是把一个数字分成k个关键字,每次对n个数同时对于k关键字排序 时间复杂度$O(n \times \frac{n_max}{radix})$,空间复杂度是$O(n+radix)$ radix为取的基数,通常取 \(65536\) 或者是 \(256\), \(NOI\) 阅读全文
摘要:
这是一道已经在任务列表里吃了一年灰的题了 之前看的时候还挺懵逼的 现在来看难度还行…… 考虑设$f[i][j]\(为从\)(i,j)$走到最后一行的期望值 考虑逆推得 \(f[i][j] = \frac{1}{4}\times(f[i][j]+f[i][j+1]+f[i][j-1]+f[i+1][j 阅读全文
摘要:
说好了在noip之前不学多项式算法……结果就真香了 快速沃尔什变换 给定长度为 \(2^n\) 两个序列 \(A,B\),设 \(C_g=\sum_{i\bigoplus j=g}A_i \times B_j\) 分别当 \(\bigoplus\) 是 \(or,and,xor\) 时求出 \(C\ 阅读全文
摘要:
首先看到题目要求实现区间询问和单点修改,又发现题目有一条特殊性质——\(n\leq30\)。由此可以想到对 \(m\) 建一棵线段树,每个节点维护字符串压缩后的信息。 接下来思考如何状压这个字符串。字符串中有三种字符 0,1,?。可以将 0 状压为 \((10)_2\),1 状压为 \((01)_2 阅读全文
该文被密码保护。 阅读全文
摘要:
首先,如何手造一个广义 SAM 本质上就是建多串后缀树(后缀树还是蛮好建的吧…… 广义 SAM 主要解决多模式串问题(统计一些奇奇怪怪的问题 记号 记 \(O(|\Sigma|)\) 为字符集大小 记 \(G(T) = O(\sum len)=O(|T|)\) (其中,\(G(T)\) 为 \(Tr 阅读全文
摘要:
Latex 炸了,懒得改了 阅读全文