摘要:
问题描述 "LG4819" "BZOJ2438" 题解 发现如果有一些人之间认识关系形成环,只需要问一个人就能把控整个环。 $\mathrm{Tarjan}$缩点。 缩点之后所有入度为$0$的点,必须询问。 注意特判有没有孤身一人的。 $\mathrm{Code}$ cpp include usin 阅读全文
摘要:
问题描述 "LG2272" "BZOJ1093" 题解 观察半联通的定义,发现图中的一些结点,构成的链一定是一个半联通子图。 此时存在的环可能会干扰求解,于是$\mathrm{Tarjan}$缩点。 于是求最长链,过程中计数即可。 $\mathrm{Code}$ cpp include using 阅读全文
摘要:
问题描述 "LG2463" "BZOJ4698" 题解 看到$n$个数串,一开始不太好处理,可以很容易想到把这$n$个数串连到一起,形成一个大串,但是每个串之间不容易处理。 经过思考,想到在每个串中间加一个不可能出现在原数串中的数,取$2333$。 对大串做后缀数组,求$\mathrm{LCP}$。 阅读全文
摘要:
问题描述 "LG2852" 题解 字符串性质:字符串$s$的每个字串等于每个后缀的所有前缀 对输入的东西离散化,然后把数值看做$\mathrm{ASCII}$后缀排序 二分答案,二分长度。 显然一段相同的字串,一定是连续一段后缀的公共前缀。 如此$check$即可。 $\mathrm{Code}$ 阅读全文
摘要:
问题描述 "LG2447" "BZOJ1923" 题解 显然是一个高斯消元,但是求的东西比较奇怪 发现这个方程组只关心奇偶性,于是可以用一个$\mathrm{bitset}$进行优化,用 来进行消元操作。 $\mathrm{Code}$ cpp include using namespace std 阅读全文
摘要:
问题描述 "LG4035" "BZOJ1013" 题解 设答案为$(p_1,p_2,p_3,...,p_n)$ 因为是一个球体,令其半径为$r$,则有 $$\sum_{i=1}^{n}{(a_i p_i)}^2={\rm dis}^2$$ 拆式子可得 $$\sum_{i=1}^{n}a_i^2 2\ 阅读全文
摘要:
问题描述 "LG3389" 题解 高斯消元,是用来解$n$元一次方程组的算法,时间复杂度$O(n^3)$ 这样就构造出了这个方程组的矩阵 目标就是把这个矩阵左边$n \times n$消为单位矩阵 $\mathrm{Code}$ cpp include using namespace std; vo 阅读全文
摘要:
问题描述 "LG4341" "BZOJ2251" BZOJ需要权限号 题解 字符串的性质:一个字符串$s$所有的字串,等于$s$所有后缀的前缀。 枚举这个字符串的每一个后缀,将其插入一个$\mathrm{Trie}$ 在插入$\mathrm{Trie}$的过程中可以非常方便的维护这个后缀的每个前缀。 阅读全文
摘要:
问题描述BZOJ1031LG4051 题解发现这是一个环,根据经验,破环为链,于是字符环变为了字符串之后对这个复制之后的字符串求后缀数组。$len$代表原字符串长度,代表复制后的字符串长度最后输出的时候,判断一下,如果$SA_i \le len$,则输出$str_i$。 Code 阅读全文
摘要:
问题描述 "LG2444" "BZOJ2938" I $\mathrm{AC}$自动机 $\mathrm{AC}$自动机是一种多模式串匹配算法,本萌新今天刚学了它qwq 约定在构造$\mathrm{AC}$自动机的过程中,$\mathrm{Trie}$树上的边和由于$\mathrm{AC}$自动机中 阅读全文