代码改变世界

随笔档案-2012年2月12日

hdu 2553 N皇后问题----搜索 dfs 回溯法 预处理

2012-02-12 16:54 by java环境变量, 466 阅读, 收藏,
摘要: hdu 2553 N皇后问题 原题链接 http://acm.hdu.edu.cn/showproblem.php?pid=2553 今下午看了一下八皇后问题,所以强烈的想AC一道题。。hdu上的此题 刚刚好。哈哈。 题目大意:在一个n*n的棋盘上放置n个皇后棋子。皇后可以向行,列,对角线攻击。求皇后互不攻击的摆法有多少种。 回溯法以前看到过名称 ,但不懂具体怎么用。 今天终于是理解一点了。回溯法的精华就是边生成边检验,所以减少了很多不必要的枚举。 具体的思路会在代码中有注释。 这道题最直接的思路就是枚举 暴力解决,但是显然是不行的。所以只能用回溯。 基本思路,一行一行的放 皇后, 然后再递归 阅读全文

二叉树 小球下落 优化算法

2012-02-12 16:09 by java环境变量, 518 阅读, 收藏,
摘要: 今天在算法书上看了一题,得到点感触,算法优化后效率可以提高很多。 所以不要停留在AC 的层面,AC了还应思考算法的效率。/*题目大意,一个小球 从二叉树的上方往下掉。 二叉树 1 2 3 4 5 6 78 910 。。。每个节点是一个开关,开关关闭往左掉,开关开着往右掉。初始时全部关闭。输入二叉树的深度deep<=20,球的个数n,最后一个小球最后掉在哪个编号的袋子中。可能又10000组数据。//自己写的(低效)#include<stdio.h>#include<string.h>#define MAXN 1024*1024int a[MAXN];int main 阅读全文