摘要: 题目链接 题解 因为$T$段内容均为相同的,最多只需$n$个重复区间即可包含最长不降子序列中的全部元素。因此将复制$n$段$a$数组进行LIS计算即可得出包含答案序列全部元素的上升子序列,朴素dp时间复杂度为$O(n^4)$,可以通过。而对于剩下的重复区间,利用贪心思想取$a$数组中出现次数最多的元 阅读全文
posted @ 2021-02-07 17:27 violet_holmes 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 可以发现,一个$n\times m(m\ge n)$的矩形所包含的正方形数$x=\sum\limits_^ni\cdot (m-(n-i+1)+1)$(纵向可以放$i$个的方形边长为$(n-i+1)$,横向可以放$m-(n-i+1)+1$个),进一步推导得$x=\sum\limits 阅读全文
posted @ 2021-02-07 17:18 violet_holmes 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 容易看出此题为dp问题,利用LIS的思想可设计出如下$O(n^2k)$的算法。 状态:$dp[i][j]$表示以$a_i$为结尾、长度为$j$的上升子序列个数。 初始值:\(dp[i][1]=1,dp[0][j]=0\quad(1\le i\le n,1\le j\le k)\)。 阅读全文
posted @ 2021-02-07 17:17 violet_holmes 阅读(86) 评论(0) 推荐(0) 编辑