摘要: "problem" 很妙啊……发现状态转移矩阵每一行都可以由上一行平移得到,每次只算第一行然后平移,$O(n^3)$ 就变成了 $O(n^2)$。 cpp include include using namespace std; int n, k; struct Matrix{ int num[20 阅读全文
posted @ 2018-04-16 16:48 poorpool 阅读(176) 评论(0) 推荐(0)
摘要: 枚举右端点,然后看左端点合法情况。 先预处理每个颜色 $i$ 的最大出现位置 $max_i$ 和最小出现位置 $min_i$。对于枚举右端点在一个位置 $i$,凡是 $max_k i$ 的颜色 $k$ 都是不能要的。那么要满足右端点往右都合法,就要找出一个 $j i$ 这样的最大的 $j$。那么左端 阅读全文
posted @ 2018-04-16 14:48 poorpool 阅读(389) 评论(0) 推荐(0)
摘要: 状压 dp。参考 "there" cpp include include include include using namespace std; typedef long long ll; int T, h, w, m, n, dp[1055][1055], qx[55], qy[55], dx, 阅读全文
posted @ 2018-04-16 11:11 poorpool 阅读(192) 评论(0) 推荐(0)