bfs
Loi_a
这个作者很懒,什么都没留下…
展开
-
2015noipT3 斗地主 暴力模拟
#include<iostream> #include<cstdio> #include<queue> #include<algorithm> using namespace std; int a[20]; struct joker{ int p[20]; int ans; void print() { for(int i=0;i<=14;i++)原创 2016-09-28 17:04:04 · 871 阅读 · 0 评论 -
noip 2010 引水入城 bfs+剪枝+dp
从第一行每一个点开始bfs,这样可以知道每一个点可以覆盖在最后一行的区间。判一下不能覆盖的情况。然后可以完全覆盖的话,那么最优解中第一行的点所对应最后一行中一定是连续的一段。有两种证明方法:(1、显然法:显然它是对的。2、反证法:反正它是对的。) 假设i#include<iostream> #include<cstdio> #include<queue> #include<stack> #incl原创 2016-10-30 14:41:56 · 609 阅读 · 0 评论 -
noip2013 华容道 bfs+建图
这道题有多次询问,如果每次询问bfs做的话,会TLE。发现询问是在一张图上,所以可以对一些信息预处理。处理dis[x][y][k][h] ,代表x,y这个点的k方向上有空格,它想要走到h方向的最小步数。这东西可以n^2×4×4次bfs预处理。然后状态是dis[x][y][k]。状态之间转移一下,就变成了Spfa。 每次从起点跑到终点,统计下答案。注意数据中有起点终点相同的情况。#include<原创 2016-11-11 17:32:25 · 719 阅读 · 0 评论 -
noip2016 愤怒的小鸟 状压搜索
这道题稍微卡了一下精度,浮点数直接判相等是会挂掉的。然后就是搜索,选定当前未选的最小编号,枚举其他的点确定一条抛物线(如果可以),然后把在这条线上的点都选上。确定抛物线推一下就可以。#include<iostream> #include<cstdio> #include<queue> #include<cstdlib> #include<map> #define LL long long using原创 2016-12-21 20:40:47 · 1044 阅读 · 0 评论