
kuangbin
TriAzure
靡不有初,鲜克有终。
展开
-
HDU 2553 N皇后问题 | 搜索 | dfs
本来想刷kuangbin专题的……结果专题一第一题就卡了,看到推荐说可以先复习一下八皇后问题,发现太久不写搜索我已经是屑了orz题意:在N*N的棋盘上,给出N个棋子,同行、同列、同对角线只可以放一个,问有多少种不同的排列方法。要用搜索我们都知道,但是把什么设为dfs的参数呢?最开始设置的是x,y,rest,标记当前位置和剩余棋子数量,但是把我自己绕进去了,搞了半天也没法保证全部扫到,并且写的...原创 2019-08-08 17:37:49 · 99 阅读 · 0 评论 -
棋盘问题 POJ 1321 | 搜索 | dfs
传送门:POJ1321首先注意POJ不认<bits/stdc++.h>…orz CE一发。这道题最开始搜索搜的很混乱,看了八皇后再回来写。写棋盘搜索还是要先考虑剪枝,不是是棋盘搜索就一定dfs(int x, int y)这样搜的。比如八皇后和这道题,既然已知每行只有一个棋子,其实就可以只把行设为参数dfs(int row),不但会简化问题,写起来也不会头晕(省下了step部分的一坨...原创 2019-08-08 18:23:35 · 137 阅读 · 0 评论 -
Dungeon Master POJ 2251 | 搜索 | bfs(getchar疑问待解决)
题意:给一个有L层的地牢,每层有R行C列,‘S’代表入口,‘E’代表出口。‘#’不可行走,‘.’可以行走,问从S到E的最短距离是?真的是太久不写搜索了……最短路径问题一般使用bfs更多,而如果需要生成全部能遍历到的状态,则通常使用dfs。所以这道题当然就要使用bfs啦!学到了几个小技巧:以0 0 0结束多组输入的问题,可以不写三个X != 0,而直接用X+Y+Z != 0来简化代码。...原创 2019-08-09 14:40:03 · 111 阅读 · 0 评论 -
Catch That Cow POJ 3278 | 搜索 | bfs
学到了一个技巧:对于这种不是同类移动(比如之前都是移动一步,只是方向不一样)的情况,可以用一个for循环,之后用if来分别进行赋值。这样写的好处就是可以统一判断。 for(int dir = 0;dir < 3;dir++) { int ct = temp.pos; if(dir == 0)//Walkin...原创 2019-08-09 16:12:56 · 92 阅读 · 0 评论 -
Til the Cows Come Home | 最短路 | dijskra | 板子题
dijskra的本质是贪心,每次都找当前点下一步最近的点,然后这个找出来的点再找下去。这篇讲的很明白:传送门#include <cstdio>using namespace std;#define INF 1<<29#define maxn 2010int T, N;int Map[maxn][maxn],ans[maxn];bool vis[max...原创 2019-08-27 13:07:43 · 450 阅读 · 0 评论