摘要: 实用算法 002: SAM 上的根号暴力 题目 看到了这个神仙代码:code 他对于每一个每一个SAM上的节点都暴力跳上去。这样猛然一看不是非常对,但是仔细分析一波,这是一个非常优美的根号暴力。 \(proof:\) 设当前考虑字符串$s_i$,每次向上跳可以补充不漏的跳出每一个子串,也就是最多$O 阅读全文
posted @ 2021-01-05 22:24 WWW~~~ 阅读(124) 评论(0) 推荐(0) 编辑
摘要: CF 204 E 两个做法。 SAM+可持久化线段树合并+dp 首先SAM上线段树合并的套路应该是比较常规的了,由于线段树是一个DAG,然后利用线段树上的边来dp。 不过我还没写出来 SA+单调栈 可以发现每次包含的那k个在rank上一定是比较靠近的。 /* { ################## 阅读全文
posted @ 2021-01-05 11:29 WWW~~~ 阅读(93) 评论(0) 推荐(0) 编辑
摘要: AGC 050 D题解 比赛的时候想到了O(N^6)的做法没敢写 这题的数据范围非常迷惑,如果你O(N^6)的做法,请关闭这篇题解,自己尝试写出来,然后就可以AC了 4e9的运算量只跑了 780ms,是真的神奇 首先这题的dp样子比较显然(一眼dp题) 可以先预处理处一个数组$p_{i,j,k,l} 阅读全文
posted @ 2021-01-03 22:50 WWW~~~ 阅读(156) 评论(0) 推荐(0) 编辑
摘要: CF 700 E 题解 首先将原字符串构建SAM。 然后可以发现每次可行的变化是从SAM的一个节点通过link移动到另一个节点。 而且每次都是取那个$Right$集合中最大的后缀。可以发现:如果不是最大的可以在前面扩展字符加到最大,然后其它的可以跟着一起扩展。 代码,待补。 阅读全文
posted @ 2021-01-03 20:31 WWW~~~ 阅读(72) 评论(0) 推荐(0) 编辑
摘要: AGC 047 C 题解 一个数论好题 可以发现P是一个NTT模数,原根是2。 则任何一个<P的数都可以表示成$2^x\mod p$。 两个数相乘也就可以表示成$2x\times 2y=2^{(x+y)\mod (p-1)}$ 直接fft就好了。 /* { ##################### 阅读全文
posted @ 2021-01-03 15:50 WWW~~~ 阅读(78) 评论(0) 推荐(0) 编辑
摘要: TC SRM 655 Div1 Level 3 题解 题目传送门 dp+几何 首先可以发现凸包是顺时针排列的一些线段构成的。我们可以预处理每一个蓝点是否都在一个线段$r[i]\rightarrow r[j]$,(箭头表示在凸包上的方向)的内测。 然后蓝点就没有用了。 然后再回想一下凸包的定义:所有点 阅读全文
posted @ 2021-01-03 10:29 WWW~~~ 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 用多项式的逆优化dp总结 考虑一个经典的模型: \(dp_i=\sum_{j=1}^i dp_{i-j}\times f_j\) 求$dp_n$ 这种问题表面看上去需要$n^2$,但是事实上可以更优。 我们建立一个长度无穷大的多项式:\(F(x)=\sum _{i=0}^\infty f_{i}\t 阅读全文
posted @ 2020-12-31 23:42 WWW~~~ 阅读(120) 评论(0) 推荐(0) 编辑
摘要: Good Bye 2020 题解(A-G) 昨天前6题全靠手速,G题漏写了一行代码最后也没有rush出来。:cry: A 枚举底边就ok。 B 从后往前greedy,如果+1的话可以让答案+1就+1,不然不变。我一开始还卡了半天在想为啥是对的。。。 C 问题就是要满足: \[ \forall i,s 阅读全文
posted @ 2020-12-31 10:37 WWW~~~ 阅读(189) 评论(0) 推荐(0) 编辑
摘要: [USACO19DEC]Tree Depth P 题目传送门 u是v的祖先的充要条件:u是$[u,v]\(中最小的,从小往大加元素,第i个加入的元素贡献为\)[0,i-1]$。 然后我们枚举i,和$j-i=len$。 然后就是求这个多项式的第$k/k-(|len|-1)$项: \[ \prod_{t 阅读全文
posted @ 2020-12-30 18:34 WWW~~~ 阅读(66) 评论(0) 推荐(0) 编辑
摘要: CF666E 题解 首先可以将所有的串用无关字符连接起来:s[1]+'#'+s[2]+'#'...s[n] 然后建一个SAM。 在每一个节点上搞一个动态开点线段树。 然后从下往上线段树合并。 最后像最长公共子串那样跑一边,倍增找到节点就可以了。 /* { ###################### 阅读全文
posted @ 2020-12-30 18:14 WWW~~~ 阅读(171) 评论(0) 推荐(0) 编辑