自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 POJ 2375 解题报告

这道题是先求强连通子图,然后压缩,选出度为0和入度为0的数目里面大的那个。思路是强连通子图内部的不用关心(已经两两互通了),强连通子图之间,在入度为0和出度为0的component之间连一条线(从出度为0到入度为0)。 类似的题我做过。也是USACO上的。但是。。。先是求neighbors的时候所有点共用一个(4元素的)数组,导致递归的时候覆盖了原来的邻居列表,导致错误。这个错误不是很容易发现。

2015-08-28 08:33:52 516

原创 POJ 3645 解题报告

这道题是简单题。就是递归地解析,求期望。 但是我还是用了很久。。。代码也写得很复杂。看到有神人的清晰代码: https://github.com/wangyongliang/Algorithm/blob/master/poj/3645/POJ_3645_3644037_AC_0MS_196K.cpp thestoryofsnow 3645 Accepted 192K

2015-08-25 06:41:12 383

原创 POJ 3003 解题报告

这道题discuss上说是DP题。感觉我的解法更像是搜索加剪枝。 由于爬的最大高度只有1000,我们可以开个DP[40][1000]数组记录爬过的最大高度。DP[i][m]表示当前在第i步,当前高度是m,从第0步爬到i步的过程中最大高度的最小值是DP[i][m]。每次如果能够降低DP[i][m],我们就继续,否则就不用往下尝试了(只可能更差)。 所以我的总体思路完全是搜索加剪枝,一步步往下走,

2015-08-25 01:49:40 412

原创 POJ 1188 解题报告

看discuss和2606一样,稍改一下也交了。区别只是单输入还是多输入。 之前已经做过求最多点在同一条线上的问题了。当时测试数据要比这里复杂很多。比如double的精度,第一个点就是基准点等这里都没有考虑,但还是第一次就过了。 但基本算法是一样的。对所有的点进行遍历,作为基准点,看从这个点出发的直线最多通过多少别的点,加上1即可。基准点确定后,求所有其他点的斜率,按斜率排序,扫描看连续多少个

2015-08-22 05:14:03 528

原创 POJ 1663 解题报告

简单题。但代码可以写得简洁如:http://poj.org/showmessage?message_id=346379 也可以写得像我这样繁琐。 thestoryofsnow 1663 Accepted 164K 16MS C++ 883B /* ID: thestor1 LANG: C++ TASK: poj1663 */ #include

2015-08-22 01:05:41 642

原创 POJ 2255 解题报告

这道题是从前序和中序遍历产生后序遍历。已经做过多次,但是还是写得很麻烦。主要纠结在递归找到root后应该写在后序遍历序列的什么位置。无奈之下又记录了后续遍历的前后范围。 但是实际上,这道题只要输出就好了,所以可以在递归地调左子树和右子树之后直接输出。这样省了空间,看着也简单。另外,c里面指针可以做运算的,这意味着只需要改变指针到新的初始位置,并记录长度即可(每次操作,中序遍历和前序遍历的序列长度

2015-08-22 00:26:02 439

原创 POJ 1543 解题报告

这里我是先打表100以内数的三次方。然后三重循环对所有的组合进行遍历,二分查找看是否是某个数的三次方。对所有的四数对进行排序输出。这里面用的是stl里面的binary_search。自己写的话能直接得到a,这里面又求了依次三次方根。 POJ不认识cbrt所以compile error了一次,改用pow(sum, 1.0/3)发现每次都少1,最后又加了个1。 thestoryof

2015-08-21 07:31:28 610

原创 POJ 1141 解题报告

这道题是DP题。知道后思路倒是挺简单的,对于range [left, right],尝试left 多次WA,后来发现是数组给小了。我const int MAXN = 100;然后给'\0'留了个位置,但是估计有\n之类的也会scanf进去。开大后就过了。 完整的测试数据在这里: https://neerc.ifmo.ru/past/2001/tests.rar 不用谢。

2015-08-21 06:09:50 448

原创 POJ 2965 解题报告

这道题我是用最基本的BFS过的。一个简单的优化是每个位置的switch都可以简化为与一个数的异或,这样就不必对该行该列一个个异或了,效率应该能提高一些。 thestoryofsnow 2965 Accepted 1424K 750MS C++ 2259B /* ID: thestor1 LANG: C++ TASK: poj2965 */ #in

2015-08-19 05:32:44 480

原创 POJ 1789 解题报告

这道题是求最小生成树。很久之前是用kruskal算法求的(之前已经用过这个模板很多次),但是超时了,这里是稠密图,对所有边排序是非常耗时的操作。这里改用没有优化的prim算法(用的是数组而不是heap,这意味着每次选最近的节点都需要过一遍数组,O(N))。但是还是很轻松地通过了。 thestoryofsnow 1789 Accepted 160K 438MS C++

2015-08-19 01:39:41 524

Nehe的OpenGL教程(PDF)

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

2010-03-05

空空如也

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

TA关注的人

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