POJ
Myriad_Dreamin
这个作者很懒,什么都没留下…
展开
-
Kuangbin专题 简单搜索 - B - Dungeon Master
一开始没有用队列的,后来参考其他人的题解用队列又写了一遍,原来的版本就没有保存了…#include <cstdio>#include <queue>#include <algorithm>using namespace std;char map[35][35][35];int wayz[10]={1,-1,0,0,0,0},lev,wayy[10]={0,0,0,0,1,-1},row,w原创 2018-01-04 18:22:58 · 250 阅读 · 0 评论 -
Kuangbin专题 - 简单搜索 -C - Catch That Cow
这是第一个AC版本,思路是逐层标记,这样就能保证步法是单调枚举下去的。需要注意的是,如果之前已经走过了,就相当于“串回去”了,这种枝需要剪掉,否则bfs是无穷无尽的。#include <cstdio>#include <queue>#define ck(_a,_x); if(!sgn[_x]&&_x>0&&_x<=100000){_a.push(_x);sgn[_x]=true;}using原创 2018-01-04 18:28:15 · 205 阅读 · 0 评论 -
Kuangbin专题 - 简单搜索 - D - Fliptile
关灯问题需要注意的一点是:单调不能完成的任务是一定不能完成的,没有反复开关灯的操作…单调向下枚举… 这里我观察到了(i-1,j)点为1时是必须开一次灯的。 枚举第一行是否开灯即可(因为没有作为是否参考的第零行)。 很巧妙的是,这样参考下来,检查最后一行是否all0,如果不是,这样的开灯方式就一定不能完成操作。#include <cstdio>#include <cstring>int ma原创 2018-01-04 18:35:45 · 285 阅读 · 0 评论 -
Kuangbin专题 - 简单搜索 - A - 棋盘问题
一开始有点不会写这种dfs,后来到网上搜了一下,学会了sign标记。#include <cstdio>#include <cstring>char map[10][10];bool sign[10];int total;void dfs(int step,int n,int k){ if(k==0){ total++; return ; }原创 2018-01-04 18:20:15 · 314 阅读 · 0 评论 -
POJ 1860 Currency Exchange
过年了,写点水题熟练算法的使用,开心开心。 题意:某个人手中有B类货币,他想投机取巧,请你帮忙判断从所持货币出发,最后兑换回该货币是否能够使得所持货币有所增加。更高效的思路: SPFS某个值被更新超过n-1次说明存在可以无限更新的回路。但是未免大材小用,用bellman-ford就能很简单地写出来,看起来有50行,但实际代码量非常小。#include <cstdio>...原创 2018-02-20 17:06:23 · 173 阅读 · 0 评论 -
POJ 3259 Wormholes
过年了,写点水题熟练算法的使用,开心开心。 题意:某人农场里有N个点,M条边,W个虫洞。边将点相连。走到虫洞需要花费时间,但是穿梭虫洞你会穿越到以前的时空。问他能在起点看见自己的身影吗?用bellman-ford判负权回路。#include <cstdio>#include <cstring>#include <vector>#define D...原创 2018-02-20 17:16:43 · 168 阅读 · 0 评论 -
POJ 1789 Truck History
过年了,写点水题熟练算法的使用,开心开心。 题意:求最小生成树,这里的距离等于两字符串相异字符的个数。思路:prim算法求最小生成树。#include <cstdio>#include <cstring>#define F(_i,_u) for(int _i=0;_i<(_u);_i++)#define MO 1061109567using name...原创 2018-02-20 17:26:25 · 179 阅读 · 0 评论