题意:在某些点上安装首次访问时候会报警的机器,给出报警嗲你的顺序,问是否合法。
思路:按所给的序列,每个进来时判断这个点目前能否达到(第一个可达总是),若能,则该点进行扩展遍历所有没有报警器的点,遇到有的报警器的标记可达就返回。
预判:判断原图连图性。
#include
#include
#include
#include
#include
using namespace s...
分类:
其他好文 时间:
2014-09-12 10:17:53
阅读次数:
240
UVA 1494 - Qin Shi Huang's National Road System
题目链接
题意:秦始皇修路,要求所有道路连通,现在道士徐福可以用法术修一条路,问现在用法术修路的两边的人口数A,除以总修路长度B的最大值A/B是多少
思路:先求出最小生成树,然后利用dfs找出每两点之间的最大权的边的权值,然后在枚举哪两个城市需要法术修路,这样就可以记录下答案最大值
...
分类:
其他好文 时间:
2014-09-11 17:24:02
阅读次数:
220
题目来源:HDU 2894 DeBruijin
题意:
思路:
#include
#include
using namespace std;
int vis[5000], ans[5000];
int len, n;
void dfs(int u)
{
int v = ((u<<1)&((1<<n)-1));
if(!vis[v])
{
vis[v] = 1;
df...
分类:
其他好文 时间:
2014-09-11 17:16:12
阅读次数:
206
图的表示:连接矩阵,连接链表。图的遍历:dfs(递归、非递归),bfs.连接矩阵下各种遍历:import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;impo...
分类:
其他好文 时间:
2014-09-11 17:03:02
阅读次数:
289
A very hard Aoshu problem
Problem Description
Aoshu is very popular among primary school students. It is mathematics, but much harder than ordinary mathematics for primary school students. T...
分类:
其他好文 时间:
2014-09-11 15:23:22
阅读次数:
150
Generalized Palindromic Number
Time Limit: 2 Seconds Memory Limit: 65536 KB
A number that will be the same when it is written forwards or backwards is known as a palindromic number. For exa...
分类:
其他好文 时间:
2014-09-11 13:55:32
阅读次数:
215
题意:给定一个n个点,m条边的图,其中k个点上有探测器
再给定一个探测器第一次被遍历的序列,问是否存在一种遍历顺序使得满足给定序列且遍历完所有点
思路:从第一个被遍历的探测器开始dfs,每次访问到探测器遍停止,访问到非探测器节点便搜下去。结束后判断给定序列下个探测
器是否被访问过,若没有,说明无法不通过 其他 探测器到达此探测器,无解。若被访问过,继续dfs此结点。
这样d...
分类:
其他好文 时间:
2014-09-11 12:33:31
阅读次数:
168
ZOJ 3817 Chinese Knot
题目链接
思路:万万没想到这题直接hash+暴力剪枝就可以了,把4个串正逆都hash出来,然后每次枚举起点去dfs记录下路径即可,剪枝为如果一旦有一点不匹配就不往后搜(这个很容易想到0 0)
代码:
#include
#include
#include
#include
using namespace std;
type...
分类:
其他好文 时间:
2014-09-11 11:16:41
阅读次数:
196
题目:UVA10410 - Tree Reconstruction(队列)
题目大意:给出一棵树的BFS和DFS遍历,求这棵数,如果有多种情况输出一种就可以了。
解题思路:利用BFS将DFS串分段,分成一棵一棵子树。然后将子树用队列存储下来,因为先被分出来的子树,在下一层中也是最先被分段。注意:一定要将根节点分离出去,它不属于它的子树。这棵树不一定是二叉树。
代码:
...
分类:
其他好文 时间:
2014-09-11 11:12:51
阅读次数:
192
最大独立集 = 补图的最大团
最小顶点覆盖 + 最大独立集 = V
#include
#include
const int maxn =100 + 10;
int g[maxn][maxn], dp[maxn], n;
int x[maxn], ans[maxn], mx;
int dfs(int *adj, int ns, int dep) {
int t[maxn];...
分类:
其他好文 时间:
2014-09-11 11:11:11
阅读次数:
188