luogu P4590 [TJOI2018]游园会 dp套dp】的更多相关文章

LINK:游园会 容易想到 设\(f[i][j][k][l]\)前i个字符 j表示状压的w个字符状态为j 长度<=k 匹配到了NOI的第l个位置的方案数. 不过只能得到30分. 考虑优化 其实优化就只能优化如何快速得到LCS 这个问题 \(3^15\cdot 15\)的状态量无法很难接受. 考虑降低这个状态量.考虑如果在一个自动机上 那么我们这个状态就可以表示匹配到了自动机上某个节点. 不过最长公共子序列自动机 并不存在. 考虑人为构造这个东西 考虑求两个串的最长公共子序列的dp. \(dp_{…
题意 题目链接 Sol 这个题可能是TJOI2018唯一的非模板题了吧.. 考虑LCS的转移方程, \[f[i][j] = max(f[i - 1][j], f[i][j - 1], f[i - 1][j - 1] + (A_i = B_j))\] 也就是说我们如果知道了前一个列向量\(f[i - 1]\)以及\(A_i, B_j\)我们就可以转移了 那么可以暴力dp,\(f[i][sta][0/1/2]\)表示到第\(i\)个位置,当前LCS数组为sta的方案数,但是这个状态显然是\(K^K\…
正题 题目链接:https://www.luogu.com.cn/problem/P4590 题目大意 给出一个长度为\(m\)的字符串\(s\). 对于每个\(k\in[0,m]\)求有多少个长度为\(n\)的字符串满足与\(s\)的最长公共子序列长度为\(k\)且不包含\(NOI\)这一个子串. 可用字符集是\(\{N,O,I\}\) 解题思路 显然这个\(NOI\)的限制是很无聊的,先不管. 然后就是求最长公共子序列恰好为\(k\),之前翻资料的时候看到过这题,然后\(m\)又只有\(15…
Description Problem 5336. -- [TJOI2018]party Solution 神奇的dp套dp... 考虑lcs的转移方程: \[ lcs[i][j]=\begin{cases} lcs[i-1][j-1]+1 & (t[i]==s[j]) \\ \max (lcs[i-1][j],lcs[i][j-1]) \end{cases}\] 我们发现 \(lcs[i][j]-lcs[i][j-1] \le 1\),而且\(\left| S \right| \le 15\)…
dp套dp 每个木板是个递推的dp,外部是个分组背包 #include<bits/stdc++.h> #define rep(i,x,y) for(register int i=x;i<=y;i++) using namespace std; ; ; inline int read(){ ,f=;char ch=getchar(); ;ch=getchar();} )+(x<<)+(ch^);ch=getchar();} return x*f;} int n,m,t,f[N]…
DP套DP,就是将内层DP的结果作为外层DP的状态进行DP的方法. [BZOJ3864]Hero meet devil 对做LCS的DP数组差分后状压,预处理出转移数组,然后直接转移即可. tr[S][k]表示当前差分状压后的状态为S,加入字符k(k为ACGT中一个)后会转移到什么状态. f[i][S]表示串已构造到第i位,和模式串的匹配状态差分后为S,的方案数. #include<cstdio> #include<cstring> #include<algorithm>…
3864: Hero meet devil 题意: 给你一个只由AGCT组成的字符串S (|S| ≤ 15),对于每个0 ≤ .. ≤ |S|,问 有多少个只由AGCT组成的长度为m(1 ≤ m ≤ 1000)的字符串T,使得\(LCS(T,S) = i\)? dp套dp! 通过一个外层的dp来计算使得另一个dp方程(子dp)最终结果为特定值的输入数. 一位一位确定子dp的输入,记录子dp的状态值 子dp: \(d(i,j)\)表示\(LCS(T[1,i],S[1,j])\),对第二维差分,\(…
题目链接:http://codeforces.com/problemset/problem/372/B 题意: 给你一个n*m的01矩阵(1 <= n,m <= 40). 然后有t组询问(a,b,c,d),问你: 在以(a,b)为左上角,以(c,d)为左下角,围成的矩形范围中,有多少全是0的矩形. 题解: 这题是dp套dp…… 首先解决dp1: 表示状态: f[a][b][c][d] = Rectangles number 表示左上角为(a,b),右下角的范围在(c,d)以内的全0矩形的个数.…
[BZOJ3864]Hero meet devil Description There is an old country and the king fell in love with a devil. The devil always asks the king to do some crazy things. Although the king used to be wise and beloved by his people. Now he is just like a boy in lo…
题意: 有n个点,编号为1~n.有的点颜色是黑色,有的点颜色是白色,有的点的颜色待涂.你还可以连一些边,但这些边一定是从小编号连到大编号的点. 对于一个确定的图,我们去统计有多少条路径满足“该路径经过的所有点的颜色都是黑白相间的”,如果这种路径总数的奇偶性为p(p是输入的,p=0或1),那么该图就被称为好图 我们需要统计所有图中,好图的个数.答案对1e9+7取模. 分析: 我们先考虑对于一个给定的图,如何求出这种路径的总数 dp[i][0]表示点i是黑点,以点i为终点的所有路径的条数:dp[i]…