搜索
ZoneFv
这个作者很懒,什么都没留下…
展开
-
POJ 1915 Knight Moves
http://poj.org/problem?id=1915一道不错的基础广搜题目,记得很久以前接触的搜索,当时只是浅浅的接触了一下,不过很快就忘了,貌似chl也不太熟,以至于之前的几次比赛,一遇到搜索的题目我就了,幸亏我们队还有飘飘。。搜索是图论的基础,一定要学好背景:神话般的国际象棋玩家Somurolov先生,他声称,他可以把一个骑士从一个位置很快地移动到另一个位置,但其他人却不行原创 2012-07-16 11:31:01 · 1150 阅读 · 0 评论 -
NYOJ 27 水池数目 深搜或广搜
题目很简单是最基础的搜索题首先是深搜写法,递归 #include#includeint m[100][100],a,b;int f[4][2]={{-1,0},{0,1},{1,0},{0,-1}};void dfs(int k,int s){ int i; m[k][s]=0; for(i=0;i<4;i++) if(m[k+f[i][0]][s+f[i][1原创 2012-07-18 10:05:09 · 4208 阅读 · 0 评论 -
HDU 1455 Sticks 深搜+剪枝
1.初始木棍的长度必须是所有木棍长度之和的约数2.按木棍的递减顺序搜索3.构造一根初始木棍的第一根木棍必须是最长的4.2根长度相同的木棍没必要重复搜索#include #include#include int s[70],v,n; bool mark[70],flag; bool cmp(int a,int b) { return a>b;} void dfs(原创 2012-07-17 19:03:18 · 2373 阅读 · 0 评论 -
nyoj 10 sking
http://acm.nyist.net/JudgeOnline/problem.php?pid=10当开始思路错了,wa了好多次动态规划与搜索的结合,用二维数组保存当前搜到的点为递增序列最大值的最长递增序列的长度#include#includeint map[105][105];int visit[105][105];//保存当前最长递增序列的长度int f[4][2原创 2012-08-03 19:08:09 · 904 阅读 · 0 评论 -
hdu 2444(染色法判断二分图+匈牙利算法)
题意:首先判断是否是二分图,如果不是的话输出No,如果是的话输出最大匹配判断二分图:运用染色法,相邻的两个点间染不同的颜色,如果遇到相邻的点是同一颜色的,则不是二分图具体实现:通过广搜遍历所有的点,判断是否有相邻的点是同一颜色(一定要遍历所有的点),找最大匹配的时候就用匈牙利算法,最后找到的count要除以2,因为找最大匹配的时候每个点都找了,所以求出的count值是最大匹配的二倍网上原创 2012-12-05 20:35:08 · 2645 阅读 · 2 评论 -
hdu 1010 dfs+奇偶剪枝
奇偶是数据结构的搜索中,剪枝的一种特殊小技巧。现假设起点为(sx,sy),终点为(ex,ey),给定t步恰好走到终点,s|||原创 2013-01-28 17:36:05 · 818 阅读 · 1 评论 -
树形dp 219D Choosing Capital for Treeland
http://codeforces.com/problemset/problem/219/D题意:可以这么理解为—— 一些城市的道路之间是有向边,如果沿着路的方向来走花费的价值为 0,如果逆向行走花费的价值为 1,选择一些点为首都,使其到其他点所花费的价值最小思路:树形dp运用两次深搜,第一次深搜求出点i到以其自身为根节点的子树上其他点总共需要花费的价值,dp[ i ] 记录。原创 2013-07-10 11:12:58 · 1439 阅读 · 0 评论