
搜索
文章平均质量分 64
fisty
hi
展开
-
poj 1979
刚开始把 '.' 敲成了 '·' 一直运行不出 = =原创 2014-05-08 20:33:17 · 1230 阅读 · 1 评论 -
poj 2449 (A* + Dijsktra 求K短路)
所谓K短路,就是从s到t的第K短的路,第1短就是最短路。 1. 将图反向,用dijsktra求出t到所有点的最短距离,目的是求所有点到点t的最短路,用dis[i]表示i到t的最短路,其实这就是A*的启发函数,显然:h(n) 2. 实现A*,f (x) = g(x) + h (x);定义估价函数。我们定义g(n)为从s到n所花费的代价,h(n)为dis[n],显原创 2015-02-01 22:20:24 · 513 阅读 · 0 评论 -
hud1495 非常可乐(bfs)
就是用队列模拟倒水的情况。。若s中有水,那么有两种情况,可以给n倒,也可以给m倒 1.给n倒 有两种情况 A.可以倒满 B.倒不满 2.给m倒 有两种情况 A.可以倒满原创 2015-02-01 16:22:10 · 572 阅读 · 0 评论 -
uva 11624Fire! (bfs)
J - Fire!需要两个BFS,第一个寻找每块空地被蔓延到的时间,第二个寻找人离开这里的最短路径,如果必须被烧到则输出IMPOSSIBLE需要注意的就是人只有一个出发点,但是可以有N个着火点,N也可以为0,WA了无数次总结出来的。。我这里直接用的G[MAX_N][MAX_N]来保存的地图。如果是墙,则为-1,是空地设置为INF,第一次bfs之后,G里面保存的是火到达每一个空地的时间(原创 2015-02-01 15:37:29 · 469 阅读 · 0 评论 -
poj 3126 Prime Path
1.先将两个数每一位进行分离,保存起来2.用bfs来解,把4位数字看成一个状态,每一位数可以变换9次,而且有4位数,每变换一个位,检查是否是素数并且没有被访问过,如果是,放入队列。如果可以达到目标状态,那么输出最少的步数,直到队列为空也没有找到,返回无解/*********************************************** * Author: fisty *原创 2015-02-01 15:51:03 · 449 阅读 · 0 评论 -
Shuffle'm Up poj 3087
/*********************************************** * Author: fisty * Created Time: 2015/2/6 16:43:28 * File Name : 1_G.cpp *********************************************** */#include #include #i原创 2015-02-06 23:08:43 · 423 阅读 · 0 评论 -
POJ 3414 Pots DFS
本题枚举每次可行的方案,并对枚举的上限做了限制,即如果当前的枚举次数已经大于目前最小次数解就剪枝。/*********************************************** * Author: fisty * Created Time: 2015/2/6 17:29:18 * File Name : 1_H.cpp **********************原创 2015-02-06 23:07:01 · 407 阅读 · 0 评论 -
hdu 2102 A计划
先预处理把所有通过传送门之后不可能的情况都把传送门换成墙还有就是遇到传送门会到第二层.用异或方便一些。因为0^1 = 1. 1 ^ 1 = 0; 遇到传送门就异或一次,表示到了另外一层迷宫最后起点到P点的最短距离小于T, 返回真/*********************************************** * Author: fisty * Creat原创 2015-02-13 20:55:50 · 467 阅读 · 0 评论 -
A*启发式搜索
A*算法,作为启发式算法中很重要的一种,被广泛应用在最优路径求解和一些策略设计的问题中。而A*算法最为核心的部分,就在于它的一个估值函数的设计上:f(n)=g(n)+h(n) 其中f(n)是每个可能试探点的估值,它有两部分组成:一部分为g(n),它表示从起始搜索点到当前点的代价(通常用某结点在搜索树中的深度来表示)。另一部分,即h(n),它表示启发式搜索中最为重要的原创 2015-02-15 11:56:20 · 1935 阅读 · 0 评论 -
哈密顿绕行世界问题 (DFS)
简单题,注意输出时候起始位置都有 m /*********************************************** * Author: fisty * Created Time: 2015/2/9 18:16:48 * File Name : three.cpp *********************************************** */原创 2015-02-09 22:38:20 · 527 阅读 · 0 评论 -
POJ 3026 Borg Maze (BFS+MST)
把是A或者S的地方当做一个顶点存起来。之后用BFS求任意两点的距离,把边存起来用最小生成树算法求:使得所有顶点都连通的最小花费/*********************************************** * Author: fisty * Created Time: 2015/2/28 16:42:55 * File Name : J.cpp ***原创 2015-02-28 20:54:05 · 505 阅读 · 0 评论 -
codeforce295# B
广度搜索求最短距离./*********************************************** * Author: fisty * Created Time: 2015/3/3 21:27:29 * File Name : 295B.cpp *********************************************** */#include原创 2015-03-03 22:43:23 · 467 阅读 · 0 评论 -
05-3. 六度空间 (30)
/*********************************************** * Author: fisty * Created Time: 2015/1/11 22:31:32 * File Name : 05-3.cpp *********************************************** */#include #include原创 2015-01-12 19:11:00 · 982 阅读 · 0 评论 -
05-2. Saving James Bond - Easy Version
需要注意的是1.能否从中心岛跳到其他顶点,需要计算(0,0)到顶点的距离再减去小岛半径 2.顶点到地点先把所有顶点转到到第一象限再判断方便一些/* ***********************************************Author :fistyCreated Time :2015/1/1 22:21原创 2015-01-11 21:51:02 · 533 阅读 · 0 评论 -
poj 3009Curling 2.0
/*2014-5-821:34DFSpoj 3008*/#include #include #define MAXN 30using namespace std;//inputint w,h; //wight hightint graph[MAXN][MAXN];int sx,sy,ex,ey;int dx[4] = {0,0,-1,1},dy[4] =原创 2014-06-01 16:08:39 · 633 阅读 · 0 评论 -
poj 2718
dfs搜索各个位#include#include#includeusing namespace std;const int inf=0x3f3f3f3f;int a[12],b[12],n,ans;bool vis[12];void solve(int aa){ int len=0; int bb=0; for(int i=0;i<n;i++)原创 2014-07-15 22:11:58 · 422 阅读 · 0 评论 -
poj 3050
/*poj 3050 Hopscotch2014-6-5*/#include #define MAX_N 10using namespace std;//inputint graph[MAX_N][MAX_N];int vis[10000000];int make[6];int dx[4] = {0,0,-1,1};int dy[4] = {-1,1,0,0};//原创 2014-06-06 21:44:39 · 590 阅读 · 0 评论 -
poj 3669Meteor Shower
#include #include #include #include using namespace std;typedef pair P;const int MAX_M = 50000;const int MAX_N = 400 + 1;const int INF = 100000000;//输入int M;int X[MAX_M], Y[MAX_M], T[MA原创 2014-06-01 16:07:14 · 613 阅读 · 0 评论 -
poj 1979
*深度优先搜索poj 1979*/#include #include #define MAX_N 30void dfs(int x,int y);//inputchar room[MAX_N][MAX_N];int row,col;//行 列int cnt;int main(){ //freopen("C:/in.txt","r",stdin);原创 2014-06-01 16:13:09 · 626 阅读 · 0 评论 -
poj1915
最基础的BFS了吧。。原创 2014-07-30 22:39:43 · 622 阅读 · 0 评论 -
POJ3278
一维数组上的BFS 下一个zhu原创 2014-07-30 22:41:49 · 450 阅读 · 0 评论 -
poj 1129
先建图,然后对一个点先染色,把它的邻点染成不同原创 2014-07-30 23:14:15 · 654 阅读 · 0 评论 -
poj3614
#include #include #include #include using namespace std;#define MAX_N 2510int C,L;pair arr[MAX_N];pair brr[MAX_N];priority_queue, greater > q; int main(){ scanf("%d%d", &C, &L);原创 2014-10-01 22:58:36 · 573 阅读 · 0 评论 -
zoj 1089 Lotto
/************************* * Author:fisty * Data: 2014-10-3 * DFS * zoj1089 * ***********************/#include #include using namespace std;#define MAX_N 50int a[MAX_N];int s[MAX_N];int原创 2014-10-03 22:06:13 · 437 阅读 · 0 评论 -
codeforces 468D Valid Sets
/********************** * Author:fisty * Data:2014-11-15 * CF468D * dfs,tree * *******************/#include #include #include #include using namespace std; #define MAX_N 2005#define MOD原创 2014-11-15 12:14:17 · 762 阅读 · 0 评论 -
CodeForces 124B Permutations
PermutationsTime Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uSubmitStatusPracticeCodeForces 124BDescriptionYou are given nk-digit integers. You have to rearrang原创 2015-06-18 16:01:01 · 1077 阅读 · 0 评论