自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 2SAT问题解题报告

2SAT是P问题,能在多项式时间内解决。这里对方法之一进行总结。测试数据格式如下:1000000-383037 -585864575603 -494722-628477 805085-502855 685868923336 -606921-653863 424389333542 -656925-809061 874253即范围为1~1000000,“

2013-04-20 21:40:48 1991

原创 POJ 1010 STAMPS 解题报告

这道题大神解释得很清楚,包括我根本没有意识到的优化(同面额的邮票种类大于5的情况解是一样的)。我一开始也是按照递归深搜做的,效果比较差,应该是剪枝的地方没有考虑情况。这道题剪枝同时考虑效率和正确性还是比较难的。后来按照最直观的四重循环做的。因为邮票组合最多四种。具体分析可以移步大神的解题报告:http://blog.csdn.net/cugbliang/article/details/2742

2013-04-16 15:14:11 1074

原创 旅行商问题(travelling salesman problem, TSP) 解题报告

旅行商问题是个熟知的问题。这次是因为coursera上面选的算法课而写代码实现。这里做个简单总结。测试程序:2520833.3333 17100.000020900.0000 17066.666721300.0000 13016.666721600.0000 14150.000021600.0000 14966.666721600.0000 16500.0000

2013-04-14 12:51:22 19875 1

原创 USACO A Game 解题报告

脑子真不行了。。。 明显是个动态规划,表达式都写出来了,仍然在想如何用动态规划而不用递归。。。。最后用了Recursion with memorization,其实和动态规划也差不多,估计能好点(只计算和记录实际需要的)。代码如下:/*ID: thestor1LANG: C++TASK: game1*/#include #include #include #includ

2013-04-12 15:23:31 1174

原创 USACO Home on the Range 解题报告

只想到了暴力的方法,时间复杂度是O(n^3),最后一个测试点过不去。网上看到了动态规划的方法,见http://www.byvoid.com/blog/usaco-334-home-on-the-range/。感觉递推关系式还是很不容易想到的。当然,想到就很简单了。代码如下:/*ID: thestor1LANG: C++TASK: range*/#include #inc

2013-04-12 14:04:32 833

原创 USACO Camelot 解题报告

这道题也是看网上的解题报告得出的解法。。。首先,knight接king的点不需要在整个棋盘枚举,king最多move两步。这个是能够通过所有测试点的。至于为什么这样,网上也搜到过证明,但是无心看了。其次,floyd是个非常低效的算法,因为它确定无疑的要n^3的时间复杂度,适合于密集图(因为算法和边的个数无关),但是我们遇到的一般是稀疏图。SPFA甚至BFS都更好。之前看johnson算法似

2013-04-11 08:49:35 1162

原创 USACO Shopping Offers 解题报告

这道题刚开始用搜索做的,即遍历每种特惠的可能次数,最后取最省的组合。虽然用到了剪枝(当当前的费用已经超过了当前最省的组合,就不必接着考虑后面的特惠了),但是仍然效率特别低,在遇到后面的测试点的时候程序就无止境地跑下去了。后来看到网上说用动态规划,因为最多只有5种商品,每种商品最多买5个,所以状态总数特别少,只有6^5=7776。所以用动态规划把表填了就好。简单总结:1.每次做题对状态总

2013-04-06 19:29:56 1525

原创 USACO Riding the Fences 解题报告

按照USACO上面讲的哈密顿回路算法做的,不是完全懂。。。大致理解是那种方法对任一节点,会先处理完别的节点,然后才将这个节点加到路径里面。所以最后获得的是一个路径的倒序。如果你想要获得正确的序列(字典序,从小到大),那么你仍旧需要按照你想要的顺序来(即从较小的那个奇数度的点开始,然后每次处理的时候先处理邻接节点中最小的那个),最后倒序输出就好。代码如下:/*ID: thestor1LA

2013-04-04 20:24:38 850

原创 USACO Sweet Butter 解题报告

刚开始用Floyd Warshall算法求每对节点的最短路径,时间复杂度为v^3,空间上用的是邻接矩阵,结果超时。总结:这种方法适合于密集图。后来考虑用dijsktra算法求单源最短路径,但是heap实现起来比较复杂,还得多个时间复杂度为O(logn)的decreasemin方法。网上看解题报告,看到了Shortest_Path_Faster_Algorithm。于是去wikipedia(ht

2013-04-03 21:54:48 893

原创 USACO Magic Squares 解题报告

在发现8!=40320之后,我发现空间不是影响因素了。只要不重复运算,时间和空间都是足够的。值得借鉴的地方:1.对于转换的处理:/* the set of transformations, in order */static int tforms[3][8] = { {8, 7, 6, 5, 4, 3, 2, 1}, {4, 1, 2, 3, 6, 7, 8, 5}, {1,

2013-04-02 15:10:57 1145

原创 USACO Feed Ratios 解题报告

/*ID: thestor1LANG: C++TASK: ratios*/#include #include #include #include #include #include #include #include using namespace std;int gcd(int a, int b){ if(b == 0) { return a; }

2013-04-01 16:52:02 872

Nehe的OpenGL教程(PDF)

PDF格式的 讲解很详细 包括安装和一些常见问题的解答 共38课

2010-03-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除