方法一:DFS递归,判断每一个是否为回文数1,首先要有一个判断字符串是否是回文的函数。容易实现,字符串从两边同时往中间走,看字符是否相同;2,深度优先搜索思想对字符串进行遍历。得到结果。例如,s
= "abacd"; 需要对“a”“ad”“aba”“abac”“abacd”进行深度优先搜索。深度搜索...
分类:
其他好文 时间:
2014-05-06 00:52:34
阅读次数:
388
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1312此题与油田那题很像是练习深搜的好题,题意是从“@”开始,遍历整个图,找到连接的
“.”有多少个但要考虑变化,简单处理下就行了,主要是斜角的不要了,而且判断结束方式也不一样具体看代码吧#include...
分类:
其他好文 时间:
2014-05-06 00:36:02
阅读次数:
301
1 /* 2
题意:八数码问题,给出3*3的矩阵含1~8以及x,给出一个符合的解使得移动后的矩阵的顺序为1~8,最后为x 3 4 题解:BFS 5
需要用到康托展开来表示状态,不然数组无法完全表示所有状态,这样BFS就无法判断找不到解的情况(status 6 的0ms,0KB究竟是怎...
分类:
其他好文 时间:
2014-05-05 22:34:16
阅读次数:
403
#include #include #include using namespace std;int
n,leap;int vis[12];void dfs(int index,int num){ if(leap) return ; if(index>n)
{ ...
分类:
其他好文 时间:
2014-05-05 22:01:05
阅读次数:
593
题目链接:http://poj.org/problem?id=1011
这道题用到了深搜+剪枝。
#include
#include
#include
using namespace std;
int a[65];
int vis[65];
int n;
int cmp(int x,int y)
{
return x>y;
}
int dfs(int len,int need,int ...
分类:
其他好文 时间:
2014-05-05 13:28:57
阅读次数:
290
ACM 康托展开 预处理BFS 魔板 hdu1430...
分类:
其他好文 时间:
2014-05-03 23:55:27
阅读次数:
517
动漫节一游回来之后一直处于一种意识模糊的状态看到大家都陆陆续续地过了C心里还是有点着急(自己没思路啊囧)其实当时就在想该如何找到DFS中的一个环,然后再找到环路上最小的一个值把所有环路上最小的值加起来就是结果,后来看到有人在群里说是tarjan求强连通分量,我就愉(bei)快(shang)地去睡觉了...
分类:
其他好文 时间:
2014-05-03 23:32:57
阅读次数:
495
题目链接:
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5176
Simple Equation
Time Limit: 2 Seconds Memory Limit: 65536 KB
There are many Equations. Some are difficu...
分类:
其他好文 时间:
2014-05-03 17:47:01
阅读次数:
343
此题我用了2种方法去做,bfs和双向 bfs 现在还在学A*,准备学会了再用A*去试试,单向bfs只过了poj,双向bfs全部都过了,具体思想就是搜索加判重,有用hash,有用康托展开,不过康托展开比较方便,因为毕竟可以一一对应,就不用判重的时候还要比较9个数了,康托展开的计算方法是:从最高位开始,在它位数前面比它小的所有数的数量再乘以它(位数-1)的阶乘,再把每一位的这个值给加起来,就是要求的。...
分类:
其他好文 时间:
2014-05-03 17:25:28
阅读次数:
321
题目:193 - Graph Coloring
题目大意:给出一个图,图里面有点和边,要求相邻的点不可以都是黑色的,问怎样上色黑色的点最多的,给出字典序最大的那种组合情况。#include
#include
const int N = 105;
int n, m, s[N][N], ans[N], cas, count, vis[N];
bool judge (int x, in...
分类:
其他好文 时间:
2014-05-03 17:22:31
阅读次数:
282