题目大意:找到一条路到终点的时候的时候正好与给出时间相同,每次移动一个单位都增加一分钟,不能走回头路。dfs搜索,每次经过一个位置,将visit[x][y] 设为1,表示已访问,记得回溯的时候重新将visit改为0;这道题很容易TLE,所以要注重剪枝,把所有能退出dfs递归的条件全列举清楚设置一个f...
分类:
其他好文 时间:
2014-09-26 00:07:38
阅读次数:
274
/*
剪枝:四秒后状态会变得和原来一样,所以四秒后如果再经过这个点肯定不是最优的舍去
易错点:在一个是从.到.这两个点都没有被照到并且不是摄像机,也可能需要等3秒,因为后面的结果可能再这三秒中发生改变,要单独判断
*/
#include
#include
#include
#include
#include
using namespace std;
#define N 510
char s[N][...
分类:
其他好文 时间:
2014-09-24 14:00:46
阅读次数:
155
分类回归树算法:CART(Classification And Regression Tree)算法采用一种二分递归分割的技术,将当前的样本集分为两个子样本集,使得生成的的每个非叶子节点都有两个分支。因此,CART算法生成的决策树是结构简洁的二叉树。
分类树两个基本思想:第一个是将训练样本进行递归地划分自变量空间进行建树的想法,第二个想法是用验证数据进行剪枝。
CART与C4.5的...
分类:
其他好文 时间:
2014-09-24 12:33:26
阅读次数:
230
(北京网络赛09题)题意:给一矩阵(图),里面有起点,终点,还有探照灯(每个有初始朝向,每秒顺时针转90度),前面有灯或者自己被灯照着,移动就要花3秒,求起点到终点最短时间。
用一个数组三维数组记录一下,用来当前位置当前时间%4有没有灯,然后优先队列(时间短的在前面),搜索即可。考虑到可以来回走或者原地等,不能简单判重剪枝:每个地方最多是4种状态!就是4秒之后就全图状态回到一样!所以若当前状态(...
分类:
其他好文 时间:
2014-09-21 23:38:41
阅读次数:
352
题记:最近刚研究了动态规划,感觉确实是算法思想中比较晦涩深奥的一种,解法2就是用动态规划,一般都是用数组记录尝试过的解法结果,为后续的解法提供剪枝。对于这道题目,解法1,解法3的思路比较简单易懂。解法1:用两个for循环找出所有子串,第三个for循环用于判断该子串是否为回文,是回文则且比已找到的回文...
分类:
其他好文 时间:
2014-09-21 22:25:31
阅读次数:
748
2014年广州网络赛的C题,也是水题。要你在一个地图中找出一条最长的路,这条路要保证最多只能有一个拐角,且只能为90度
我们直接用深搜,枚举每个起点,每个方向进行dfs,再加上剪枝。
但是如果直接写的话,那一定会特别麻烦,再加上方向这一属性也是我们需要考虑的方面,我们将从别的地方到当前点的方向编一个号:往右为0,如下图顺时针顺序编号
(往右下方向为1,往下为2......以此...
分类:
其他好文 时间:
2014-09-20 21:34:49
阅读次数:
338
poj1699:http://poj.org/problem?id=1699题意:给你nge串,让你求出这些串组成的最小的串重叠部分只算一次。题解:我的做法是DFS,因为数据范围只有10,就算是n!也只有300多万,加上剪枝,就可以过了。 1 #include 2 #include 3 #inclu...
分类:
其他好文 时间:
2014-09-19 19:18:25
阅读次数:
181
数独(DFS)。
很忧伤的一道题,先是剪枝的三个数组开成[9][9]导致 越界了WA。
然后就是每两组输出之间有空行,但是最后一组后面不能输出空行。PE好多次。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#def...
分类:
其他好文 时间:
2014-09-17 12:12:19
阅读次数:
274
//我刚开始竟然用bfs做,不断的wa,bfs是用来求最短路的而这道题是求固定时间的
//剪纸奇偶剪枝加dfs
#include
#include
#include
#include
using namespace std;
#define N 10
char ma[N][N];
struct node {
int x,y,step;
}ss,tt;
int dis[4][2]={1,0,-1,...
分类:
其他好文 时间:
2014-09-16 17:26:50
阅读次数:
194