- 博客(4)
- 资源 (3)
- 收藏
- 关注
原创 poj 1011
这是一道经典的强剪枝的题目。用深度优先搜索的方式进行搜索主要是一些剪枝的运用:1. 每加入一个木棍做一下标记,以免被再次搜索,用一个辅助数组进行标记。2. 进行从大到小的排序3. 可能的长度,一定可以去整除总长度4. 若最长的木棍都无法拼成指定的长度的话,则不必向下搜索。因为答案肯定得包括最长的那根木棍。这个条件在哪里加呢?你自己考虑了很久,具体见代码注释。注意理解回溯的过程,用递归的方式去理解代码。不好的编程习惯: 你在初始化数组的时候,用了很多for来初始,可以尽量用memset来完成初始化,效率更高,
2010-11-29 22:27:00 385
原创 Poj 1013
<br />对于枚举类型的题目,可以优先考虑一下用暴力方式求解,该题便是其中一个实例。<br />另外,在写函数的时候,若返回值不是简单的bool类型而是int的话,if(res = test())<br />你得确定test返回0是一个无用值才行。这题你便是犯了这个错误。见源码中的注释。<br /><br />/*For poj 1013, writeen by Dream Chen 2010/11/23*/<br />#include <iostream><br />using namespace st
2010-11-27 17:43:00 402
原创 Ctrl+F5与F5的疑惑
<br /><br /> 最近几天一直在搞个程序导致死机的问题。以前或许只是在调试几百行,上千行左右的代码,这是自己第一次接触比较大型的代码,大概上千万行的程序,以前自己用的那一套方法只是适用于一些小程序。<br /> 因为这个问题自己觉得比较“奇怪”,只有在运行状态(Ctrl+F5)的环境下会导致死机,而在debug(F5)的时候,却不会死机,觉得有点不可思议。<br /> 好了,现在问题表象就是这样。以前的经验是把函数逐个屏蔽掉,看下代码执行的情况。可现在上千万行的代码,去屏蔽哪个呢?
2010-11-17 22:15:00 1767
原创 poj1222
<br /><br />/*比较简单的搜索,对第一行进行穷举,然后根据第一行确定剩下的格子状态*/<br />#include <iostream><br />using namespace std;<br />int n = 0;<br />int a[5][6];<br />int temp[5][6];<br />int res[5][6];<br />void InitFistLine(int num);<br />void Solve();<br />bool IsSuccessful();<br
2010-11-01 22:40:00 485
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人