摘要:
题意 "链接" 长度为$n$的序列,用红黄蓝绿染色,其中红黄只能是偶数,问方案数 Sol 生成函数入门题 任意的是$e^x$,偶数的是$\frac{e^x + e^{ x}}{2}$ 最后化完是$\frac{e^{4x} + 2e^{2x}+1}{4} = \frac{4^n+2 2^{n+1}}{ 阅读全文
摘要:
题面 "题目链接" Sol 生成函数入门题 至多为$k$就是$\frac{1 x^{k+1}}{1 x}$ $k$的倍数就是$\frac{1}{1 x^k}$ 化简完了就只剩下一个$\frac{1}{(1 x)^5}$ 这个东西可以直接广义二项式定理展开,也就是这个式子 $$\frac{1}{(1 阅读全文
摘要:
利用生成函数求斐波那契数列通项公式 先吐槽一下,学习这玩意儿的时候真的是深深的明白了自己的弱小,人家的一个"解得"我居然解了两个小时。。qwq 前置知识 斐波那契数列: $$f_i = f_{i 1} + f_{i 2}$$ $$f_0 = f_1 = 1$$ 普通生成函数: 简单来说用多项式$\s 阅读全文
摘要:
题意 "题目链接" Sol 这个就很没意思了 求个ln,然后系数除以2,然后exp回去。 cpp include define Pair pair define MP(x, y) make_pair(x, y) define fi first define se second define LL l 阅读全文
摘要:
题意 "题目链接" Sol 多项式exp,直接套泰勒展开的公式 $F(x) = e^{A(x)}$ 求个导$F'(x) = A(x)$ 我们要求的就是$G(f(x)) = lnF(x) A(x)$的零点。 然后把$F(x)$看做变量$A(x)$看做长度(什么鬼啊qwq) $G'(F(x)) = \f 阅读全文
摘要:
题意 "题目链接" Sol ~~这个不用背XD~~ 前置知识: $f(x) = ln(x), f'(x) = \frac{1}{x}$ $f(g(x)) = f'(g(x)) g'(x)$ 我们要求的是$G(x) = F(A(x)), F(x) = ln(x)$ 可以直接对两边求导$G'(A(x)) 阅读全文
摘要:
题意 "题目链接" Sol 裸的区间dp,转移的时候判一下两个字符是否相等即可 cpp include define Pair pair define MP(x, y) make_pair(x, y) define fi first define se second define LL long l 阅读全文
摘要:
题意 "题目链接" Sol 最直观的做法是wqs二分+dp。然而还有一种神仙贪心做法。 不难想到我们可以按权值从大到小依次贪心,把左右两边的打上标记,但这显然是错的比如$1\ 231\ 233\ 232$。我们会得到$234$而不是$463$。考虑加入一种反悔机制,也就是说我们可以增加一种决策来取消 阅读全文
摘要:
题意 "题目链接" Sol 这题最直接的维护区间以0/1结尾的LIS的方法就不说了。 其实我们可以直接考虑翻转以某个位置为中点的区间的最大值 不难发现前缀和后缀产生的贡献都是独立的,可以直接算。维护一下前缀/后缀和即可 cpp include define Pair pair define MP(x 阅读全文
摘要:
题意 "题目链接" Sol 神仙题Orz 考虑区间dp,如果我们只设$f[l][r]$表示$s_{lr}$被压缩的最小长度,而不去关心内部$M$分布的话,可能在转移的时候转移出非法状态 因此考虑多加一维表示当前子串中有没有$M$(默认第一个字符为$M$不统计在内) 转移的时候就考虑不同的$M$对当前 阅读全文