随笔分类 - 动态规划—树形dp
摘要:区间不交叉,可以看出区间构成了树形结构,建出树之后,设f[u][i]为u这个区间最大值最多加i的概率,转移是\\( f[u][i]=p[u]\ \prod f[v][mxu mxv 1]+(1 p[u])\ \prod f[v][mxu mxv] \\) 注意要理性选择建树方式,扫描就行了,不要瞎二
阅读全文
摘要:如果枚举d来dp,那么就是设f[u][0/1]为u点不断/断掉和父亲的边,然后优先选取f[v][1]+w(u,v) include include include include using namespace std; const int N=300005; int n,du,v[N],d[N],
阅读全文
摘要:建回文自动机,注意到一个回文串是可以通过一个长度小于等于这个串长度的一半的回文串添上一些字符然后复制得到的,也就是在自动机上向fa走,相当于treedp 每次都走显然会T,记录一个up,指向祖先中最下长度符合要求的回文后缀,这样每次找最多跳一次,所以是O(n)的,还有child的清空动态的做,也就是
阅读全文
摘要:首先只有lcp(i,j)需要考虑 因为SAM的parent树是后缀的前缀的最长公共后缀(……),所以把这个串倒过来建SAM,这样就变成了求两个前缀的最长公共后缀,长度就是这两个前缀在parent树上的lcs对应的最大长度dis 这里用treedp解决即可,就是合并一下size cpp include
阅读全文
摘要:まだまだまだ今日よ続けと歌おうぜもっと
阅读全文
摘要:思いついたら歩いていけ
心残り残さないように
阅读全文
摘要:さあ出かけよう 砂漠を抜けて
悲しいこともあるだろうけど
虹の根元を探しにいこう
阅读全文
摘要:空から堕ちた光 僕の手で汚さぬように
阅读全文
摘要:驸马不必巧言讲
现有凭据在公堂
阅读全文
摘要:适才叫咱盟誓愿
你也对天就表一番
阅读全文
摘要:終わりも見えない道に寝そべって
ぐらりぐらり崩れちゃうわ
阅读全文
摘要:And then we start to dance, and now I'm singing like
阅读全文
摘要:かみのますとりいにいれば このみよりひつきのみやとやすらげくす
阅读全文
摘要:我也曾赴过琼林宴 我也曾打马御街前
阅读全文