摘要: dp[x][y]表示[x,y]里的最大匹配,如果s[x]和s[y]匹配,那么dp[x][y] = dp[x + 1][y - 1] + 2。然后对于每个区间都试图将其拆成两半。 1 #include <cstdio> 2 #include <cstring> 3 #include <algorith 阅读全文
posted @ 2019-12-08 22:57 IAT14 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 的确挺神奇的一道题,跟lyc讨论了一会才想清楚正确性。 用dp[x][y]表示完成[x,y]这些舞会至少需要多少衣服。注意这里dp的定义很明确,就是只完成[x,y],之前不需要穿衣服,之后也不需要穿衣服。 那么对应的,答案应该就是dp[1][n]。 我们考虑转移,这道题中,唯一能优化的地方,无非就是 阅读全文
posted @ 2019-12-08 22:29 IAT14 阅读(202) 评论(0) 推荐(0) 编辑