摘要:
题目 分析 看到$ M<=10 $考虑状压。 然后把每行都压一下,那么每个状态相关的就是上一行和上上行的状态。 然后枚举。 然后复杂度最坏是$ O(100 \times 1024^3) $的 仔细分析一下,有很多状态是无用的,但还是被判断了,比如$ 11111 $,显然不能做到不误伤。 那么我们把所 阅读全文
摘要:
题目 分析 题意:给个数列,求有多少五元上升组 考虑简化一下问题:如果题目求二元上升组怎么做。 仿照一下逆序对,用树状数组维护一下就ok了。 三元怎么做呢? 把二元的拓展一位就可以了,即把第三个也扔进树状数组 所以这题就渐渐明朗了: 用$ dp[i][x] $表示以$ A[x] $结尾的$ x $元 阅读全文
摘要:
题目 分析 $ n<= 16 $ 显然是状压 然后搞一搞(靠着蓝书yy一下) 代码 #include <bits/stdc++.h> using namespace std; const int maxn=17; int n, P[maxn], cover[1<<maxn], f[1<<maxn]; 阅读全文
摘要:
题目 分析 大力dp。用$ dp[i][j] $表示$ [i,j] $A能得到的最高分 我看到博弈论就怂。。。 代码 #include <bits/stdc++.h> using namespace std; const int maxn=110; int S[maxn],A[maxn],vis[m 阅读全文