搜索
呆呆与笨笨
梦想是被追逐的,而不是幻想的
展开
-
hdu 2209 翻纸牌
分析:从最终结果出发不管最终纸牌翻转成什么样,第一张纸牌只有两种情况:1.翻转过,2:未翻转过 而影响第一张纸牌的只有本身和第二张纸牌, 所以分两种情况:1:第一张纸牌本身翻转,然后搜索第2,3,4,....n张并由第i-1张纸牌是否正面朝上而决定第i张是否翻转(第i-1张纸牌前的纸牌已全部正面朝上),最后只需要判断第n张纸牌是否正面朝上即可 2:第一张纸牌本身不翻转,然后过程和第1种情况一原创 2014-03-10 17:09:27 · 529 阅读 · 0 评论 -
hdu 1241 Oil Deposits
#include #include int n,m; int num[110][110]; void DFS(int x,int y){ int a,b,i,j; num[x][y]=0; for(i=-1;i<2;i++){ for(j=-1;j<2;j++){ a=x+i; b=y+j;原创 2014-04-24 21:19:05 · 490 阅读 · 0 评论 -
小俞同学的危机(DFS)
题目描述 最近小俞同学学习真是太累了,不知不觉就趴在桌子上睡着了。她进入了一个奇怪的梦境,梦到进入了一个迷宫里,这下可愁坏了小俞,最近没吃饱,走也走不动了,只能困在迷宫里面动不了。幸运的是她在梦里梦见了你也在迷宫里,你手里还有一些好吃的,把这些好吃的给她,她就能和你一起跑出去啦。不过迷宫里面有一些大恶魔在,还好你有足够的力量消灭它,但是消灭它也需要一些时间的。好吧,地图给你了,现在快原创 2014-08-03 17:25:23 · 465 阅读 · 0 评论 -
hdu 1045 Fire Net(DFS+回溯)
题目描述:给你一个n x n的矩阵,若该点不为障碍,则可以放置大炮,大炮可向上下左右4个方向开炮,所以若同一行或同一列存在2门大炮并且他们之间没有障碍,则会出现互相攻击,当然我们不希望这种情况出现。现在问你最多能放置多少门大炮并且他们不能互相攻击。 解题思路:对于每个点,若能放置大炮则能选择放或者不放两种情况,若不能放置大炮则就只有一种情况。由于题目的数据规模很小,n原创 2014-07-30 08:57:36 · 511 阅读 · 0 评论 -
poj 1088 滑雪(DP+记忆化dfs)
思路:这道题的动态方程是比较容易想的。就是说拿当前点的高度和该点四周的高度相比,若比周围点高度高,则比较长度。 dp[i][j] = max(dp[i][j],dp[newx][newy]+1),这样即可。在比较的时候用到了深搜找路径。原创 2014-08-04 20:41:37 · 429 阅读 · 0 评论 -
poj 1321 棋盘问题(DFS+回溯)
#include #include #include char s[10][10]; int cols[10],k,n,ans; void dfs(int a,int t) { int i,j; if(t==k) { ans++; return ; } for(i=a+1;i<n;i++) { for(原创 2014-08-19 19:44:12 · 411 阅读 · 0 评论 -
hdu 1010 Tempter of the Bone(DFS+奇偶剪枝)
题意:给一幅图,有起点有墙有终点,问能不能在刚好t秒的时间走到终点 DFS + 多重剪枝(奇偶性剪枝) 一开始果断DFS,交上去TLE了。。。用了好几重的剪枝才过。。。。 所以不要小看剪枝,往往优化个成百上千倍。原创 2014-08-13 21:28:36 · 435 阅读 · 0 评论 -
hdu 1312 Red and Black(DFS)
题意:在宽、高不超过20的范围里,从@开始,统计四周有几个.(前后左右,斜方不算)原创 2014-08-13 21:32:52 · 405 阅读 · 0 评论 -
hdu 2553 N皇后问题(DFS+回溯)
dfs+回溯TLE,直接打表原创 2014-08-14 20:10:16 · 425 阅读 · 0 评论