03 2019 档案
摘要:【LG4248】[AHOI2013]差异 题面 "洛谷" 题解 "后缀数组版做法戳我" 我们将原串reverse,根据后缀自动机的性质,两个后缀的lcp一定是我们在反串后两个前缀的lca。 那么原式不就是求树上两两点对的距离和, 树上一条边的权值可以通过差分求出,就是$i.len i.f
阅读全文
摘要:【LG1368】工艺 题面 "洛谷" 题解 好套路的一道题。。。 我们倍长这个字符串,然后我们要查询的串就为这个倍长过后串的长度n一个子串,要求字典序最小 ~~然后就可以非常愉快地后缀排序了~~ 后缀的话,直接往每个状态的字典序最小的后继状态跑就行了。 代码
阅读全文
摘要:【LG4070】[SDOI2016]生成魔咒 题面 "洛谷" 题解 如果我们不用在线输的话,那么答案就是对于所有状态i ∑(i.leni.fa.len) 现在我们需要在线询问,那么因为SAM是在线算法,我们考虑每次的对答案的贡献。 那么产生的贡献就是$last.len
阅读全文
摘要:【SP1812】LCS2 Longest Common Substring II 题面 "洛谷" 题解 你首先得会做 "这题" 。 然后就其实就很简单了, 你在每一个状态i打一个标记f[i]表示状态i能匹配到最长的子串长度, 显然f[i]可以上传给f[i.fa]。 然后去每个串和
阅读全文
摘要:【SP1811】LCS Longest Common Substring 题面 "洛谷" 题解 建好后缀自动机后从初始状态沿着现在的边匹配, 如果失配则跳它的后缀链接,因为你跳后缀链接到达的Endpos集合中的串肯定是当前Endpos中的后缀,所以这么做是对的。 你感性理解一下,这样显然是最
阅读全文
摘要:【BZOJ1011】[HNOI2008]遥远的行星 题面 "bzoj" "洛谷" 题解 乱搞题。。。 主要是要利用“只要结果的相对误差不超过5%即可”这个条件。 对于第i个行星,我们记x=⌊ai⌋,对他有贡献的区间为[1,x]。 我们统计时,将区间$[1,x]
阅读全文
摘要:【BZOJ1009】[HNOI2008]GT考试 题面 "bzoj" "洛谷" 题解 设fi,j表示长串匹配到i,短串匹配到j的方案数。 那么我们如何转移呢? 很显然,我们每次匹配时添加字母,可能会失配或者重新匹配到原串的一个地方。 我们预处理出一个矩阵gi,j表示短串第
阅读全文
摘要:【BZOJ1007】[HNOI2008]水平可见直线 题面 "bzoj" "洛谷" 题解 这题是用来搞笑的吧。。。 一眼看来就是半平面交啊,结果发现是个弱化版半平面交。 就按照半平面交的方法就行了。 代码 cpp include include include include include inc
阅读全文
摘要:【BZOJ1005】[HNOI2008]明明的烦恼 题面 "bzoj" "洛谷" 题解 前置芝士: prufer序列 "戳这里" 关于此题 设有度数限制的点的个数是cnt,度数为d[i],令sum=∑cnti=1(d[i]1) 不同排列的个数为 $$ C_{n 2
阅读全文
摘要:【BZOJ1003】[ZJOI2006]物流运输 题面 "洛谷" "bzoj" 题解 设fi表示前i天花费的最小值。 我们设第l,r天1到m的距离为disl,r,这个可以n2遍最短路求出。 那么转移就很显然了: $$ f_i=\min_{j=0}^{i 1} f
阅读全文
摘要:【LG3295】[SCOI2016]萌萌哒 题面 "洛谷" 题解 考虑现在我们如果一次只是限定两个位置相等该怎么做, 直接将这些位置用并查集并起来然后答案就是 $$ ans= \begin{cases} 10 & n=1\\ 9\times 10^{t 1} & \text{otherwise} \
阅读全文
摘要:【BZOJ1002】轮状病毒 题面 "bzoj" 题解 统计个数显然直接矩阵树定理,找规律 "截这里" 打标如下:
阅读全文
摘要:【BZOJ1001】狼抓兔子 题面 "bzoj" 题解 懒得平面图转对偶图了,直接最小割板子加优化。 cpp include include include include include include include include using namespace std; inline int
阅读全文
摘要:【CF617D】Roads in Yusland 题面 ~~蒯的洛谷的~~ 题解 我们现在已经转化好了题目了, "戳这里" 那么我们考虑怎么求这个东西,我们先判断一下是否所有的边都能被覆盖,不行的话输出1。 再将路径u→v(depudepv)以其权值为关键字丢到
阅读全文