kuangbin 专题二 搜索进阶
题目详单见 [kuangbin带你飞]专题1-23。
算法介绍见 搜索部分简介 - OI Wiki。
HDU-1043 Eight
用康托展开将状态映射成排列数的字典序下标,然后
- 用 BFS 预处理初始状态(123456789)到其他所有状态的路径,
- 或者结合数学上八数码问题是否有解的判别方法和 A* 算法(有解时)。
题目详单见 [kuangbin带你飞]专题1-23。
算法介绍见 搜索部分简介 - OI Wiki。
用康托展开将状态映射成排列数的字典序下标,然后
题目详单见 [kuangbin带你飞]专题1-23。
算法介绍见 搜索部分简介 - OI Wiki。
在棋盘规定的位置摆放棋子,要求棋子不能同行/列,求方案数。简单记录状态,遍历搜索即可。
今天吃瓜吃得很开心,却发现没什么人能分享的。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 201;
int n, m, t, f[N][N];
int main() {
scanf("%d%d%d", &n, &m, &t);
for (int i = 0, v, w; i < n; ++i) {
scanf("%d%d", &v, &w);
for (int j = m; j >= v; --j)
for (int k = t; k >= w; --k)
f[j][k] = max(f[j][k], f[j - v][k - w] + 1);
}
printf("%d\n", f[m][t]);
return 0;
}
1 | class Solution { |
1 | #include <bits/stdc++.h> |
1 | #include <bits/stdc++.h> |
1 |
1 |
1 |
1 |