P4747 [CERC2017]Intrinsic Interval 前言 这道题有高大上的 "析合树" 做法 不过我不会,可能退役后会考虑学学吧。 题目大意 "$ProblemLink$" 其实题目里面讲的很清楚了。 简单的说就是给你一个$1$ ~$n$的排列 定义如果一个区间$[l,r]$是好区 ...
分类:
其他好文 时间:
2019-09-06 20:11:51
阅读次数:
94
一道经典$DP$ LCS $$ f[i][j]=f[i 1][j 1]+1\;(i,j 0,a[i]=b[j])$$ $$ f[i][j]=max(f[i][j 1],f[i 1][j])\;(i,j 0,a[i]\not=b[j])$$ 其中, 为`a i`个元素与 序列前 个元素的$LCS$长度 ...
一、LCS定义 ? 最长公共子序列(Longest Common Subsequence)? 一个序列S任意删除若干个字符得到的新序列T,则T叫做S的子序列? 两个序列X和Y的公共子序列中,长度最长的那个,定义为X和Y的最长公共子序列 – 字符串12455与245576的最长公共子序列为2455 – ...
分类:
其他好文 时间:
2019-09-03 16:13:54
阅读次数:
167
题意: 给出两个字符串,求出最长的公共子序列大小。 思路: 算是最经典的LCS问题吧。 设 $X=(x_1,x_2,.....x_n) 和 Y=(y_1,y_2,.....y_m)$ 是两个序列,将 X 和 Y 的最长公共子序列记为$lcs(X,Y)$ ,找出$lcs(X,Y)$就是一个最优问题 然 ...
分类:
其他好文 时间:
2019-08-26 21:03:53
阅读次数:
85
LCIS(最长公共上升子序列) 方案输出+dp储存最优值优化 分析: 这道题明显是将LCS和LIS结合,那么可以想到(我没想到)定义dp[ i ] [ j ]是a中1~i 和 b中1~j 以 b[ j ] 结尾的最长LCIS长度。 转移:当a[ i ]==b[ j ]时,要在小于j中找到一个最大的d ...
分类:
其他好文 时间:
2019-08-21 21:50:31
阅读次数:
126
一、线性 1.简单示例 (1)LIS问题 (2)LCS问题 (3)数字三角形 二、背包 1.0/1背包 2.完全背包 3.多重背包(二进制拆分) 4.分组背包 三、区间 四、树形 1.背包类 2.二次扫描与换根法 五、环形与后效性处理 六、状态压缩 七、倍增优化 八、数据结构优化 九、单调队列优化 ...
分类:
其他好文 时间:
2019-08-11 17:00:57
阅读次数:
107
题目背景 IOI2000第一题 IOI2000第一题 题目描述 回文词是一种对称的字符串。任意给定一个字符串,通过插入若干字符,都可以变成回文词。此题的任务是,求出将给定字符串变成回文词所需要插入的最少字符数。 比如 “Ab3bd”插入2个字符后可以变成回文词“dAb3bAd”或“Adb3bdA”, ...
分类:
其他好文 时间:
2019-08-10 13:40:15
阅读次数:
115
LIS问题: 设$f[i]$为以$a[i]$结尾的最长上升子序列长度,有: $$f[i]=f[j]+1(j using namespace std; define N 5007 int f[N],a[N],b[N]; int main() { int i,j,n; scanf("%d",&n); f ...
分类:
其他好文 时间:
2019-08-09 23:43:45
阅读次数:
95
"Codeforces" 思路 感觉这个离线的思路好神仙啊qwq 对于每个询问$[l,r]$其实就是要求$p_{max}$,使得$lcs(s[1,p],s[1,r]) p l$,也就是$lcs(s[1,p],s[1,r])+l p$。 首先把询问离线按$r$排序,然后从右往左扫,每次 1. 处理之前 ...
分类:
其他好文 时间:
2019-08-08 00:33:22
阅读次数:
102
string 操作: GCD : LCM : 扩展欧几里得 : 快速幂 : 矩阵快速幂 : 最长公共子序列LCS : 最短路Floyd : 并查集 : SG 打表 : SG_DFS : ...
分类:
其他好文 时间:
2019-08-07 23:00:43
阅读次数:
195