摘要: 原题链接 考察:线性DP 本蒟蒻是完全没想到这个方程...思路基本照搬Y总 思路: 可以从题目分析出两个性质: 1.第i行人数一定>=第i+1行.(因为每列都要求递减) 2.每一行人数只能从左开始相邻放 行数最多5,可以考虑每行一个状态.设f[i][j][k][t][p]设置为第一行有i个人,第二行 阅读全文
posted @ 2021-02-06 23:01 acmloser 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线性DP 最长上升子序列+最长公共子序列的综合版 思路: 要写这道题必须明白最长上升子序列+最长公共子序列的推导过程. 由最长上升子序列: 它的状态是由倒数第二个数字来分类,也就是说我们必须固定倒数第一个数字 由公共子序列: 有a[i]b[j]的有无来分类,f[i][j]代表1~i和 阅读全文
posted @ 2021-02-06 18:30 acmloser 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线性dp 思路: 第一问是套模板. 第二问的思路是要想到增加序列个数的条件.由贪心法,我们求不上升子序列的组数.对于一个数x,假设已有两组a,b.如果a,b内没有比x更大的数.说明我们需要重新开辟一组.如果x较小,因为不允许插入,所以我们只能在末尾加入元素,我们要保证序列个数最少,就 阅读全文
posted @ 2021-02-06 14:41 acmloser 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:线性dp 题目本质:求最长上升子序列+下降子序列 易错: 这种题一般都要求下降子序列 j>=i,避免 100 100 100这种数据 也可以用朴素法求,但是要预处理长度数组. 1 #include <iostream> 2 #include <cstring> 3 #include 阅读全文
posted @ 2021-02-06 00:31 acmloser 阅读(60) 评论(0) 推荐(0) 编辑