摘要:
int n, m; int dp[21][1 << 7][1 << 7];//dp[row][now][pre] int num[1 << 7];//存该状态有几个1 inline int lowbit(int x) { return (x & (-x)); } //注意n * m < 40 //所 阅读全文
摘要:
inline int c(int num) {//计算 C(num,2) return num * (num - 1) / 2 % mod; } ll dp[110][110][110];//dp[row][column_1][column_2],有1个棋子的列和有两个棋子的列 int n, m; 阅读全文
摘要:
typedef long long ll; ll dp[10][1 << 10][100];//dp[row][sta][cnt] int n, k, cnt; int num[1 << 10];//存状态中1的数量 int tot[1 << 10];//存所有的可行状态 inline int lo 阅读全文
摘要:
//捕捉宝可梦 //考虑状压dp,一维是宝可梦的捕捉状态,二维保存当前捕捉的宝可梦编号 const int inf = 0x3f3f3f3f; int n, cnt; int dp[1 << 20][22];//dp[sta][point] unordered_map<string, int> mp 阅读全文
摘要:
//选择点集 每个点集都不相交 并且每个点集与它们相连的点能够覆盖原图 //问最多可一次选择多少点集 int n, m, k, cas; int a[17]; int f[1 << 17];//该状态下最多可选几个点集 int arr[1 << 17];//该状态的延申状态,是否可以覆盖原图 inl 阅读全文
摘要:
构造出矩阵即可 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> using namespace std; typedef long long ll; const int mod = 193; int 阅读全文