随笔分类 - 搜索
POJ 1011 Sticks 经典的DFS+剪枝
摘要:第一次遇到的时候,这个题目完全没思路,看了人家的解题报告才做,,也不行,各种TLE。。也没什么想法。。只能借鉴别人的了。。看完这个应该可以彻底的理解这个题目的。。:http://apps.hi.baidu.com/share/detail/17119728下面是我的代码:#include<iostream>#include<stdlib.h>#include <string.h>using namespace std;#define N 70int sticks[N];//用来存放木棒的长度int used[N];//用来记录木棒是否使用过int n,cnt
阅读全文
POJ 2739 Sum of Consecutive Prime Numbers
摘要:题意:给你一个数,,求有几种方法可以用连续的素数相加的和而成。。直接打个素数表,然后DFS。。简单题。。#include <iostream>using namespace std;int p[1250],pnum;int n;bool u[10006];void getprim()//素数表。。{ int i,j; int k,x,m=(10003+1)>>1; p[0]=2,p[1]=3;pnum=2; for(i=3;i<=m;i+=3) for(j=0;j<2;j++) { x=2*(i+j)-1; while(u[x]==0) { p[pnum++
阅读全文
HDU 1010 Tempter of the Bone DFS
摘要:/*这个题是个好题啊。。DFS。。加奇偶剪枝。。
DFS就不说了。。说一下奇偶剪枝,,
可以把map看成这样:
0 1 0 1 0 1
1 0 1 0 1 0
0 1 0 1 0 1
1 0 1 0 1 0
0 1 0 1 0 1
从为 0 的格子走一步,必然走向为 1 的格子
从为 1 的格子走一步,必然走向为 0 的格子
即:
0 ->1或1->0 必然是奇数步
0->0 走1->1 必然是偶数步
所以当遇到从 0 走向 0 但是要求时间是奇数的,
或者, 从 1 走向 0 但是要求时间是偶数的
都可以直接判断不可达!
就是如果,走到某个格子的时候,判断这个格子到终点的步数和时间有没有同奇同偶,没有的话就不可能在要求的时间点到达终点。
。就可以直接剪掉、、
剪枝是一个很重要的思想。。很多的时候都要用到这个思想。。不然都会
阅读全文
POJ 1321 棋盘问题 DFS
摘要:中文题意、、、不解释。。要理解DFS的精髓。。不然是做不出来的。。
阅读全文
POJ 3062 Borg Maze BFS+最小生成树
摘要://大概是说S要去消灭外星人,要找到最短的路把所有的外星人消灭。。就这样。。
//题意说的很复杂,大意就是求S到A的距离,因为S到A可分所以就像是求图的最小生成树,先用BFS求各点的距离,再用prim求最短距离。
阅读全文
浙公网安备 33010602011771号