一周学习总结4.5

来源:互联网 发布:台服lol有mac版本吗 编辑:程序博客网 时间:2024/05/22 02:26

这周在做推荐的50题。

主要看了状态空间搜索。状态空间是以状态为结点,以状态转移为有向边的图。一个可行解就是一条从起始结点出发到目标状态集中任意结点的路径。搜索主要分为盲目搜索、启发式搜索以及敌对搜索。还有很重要的是搜索中的剪枝。

 

做的题目用的都是深度优先搜索。

POJ 1141 Brackets Sequence:括号序列。是LRJ黑书上DP的第一个例题。与算导上的矩阵链乘基本上相同。可怜我没认真看算导,只看了黑书。于是能求出最少增加的括号数,却不懂怎么输出。最后使用的递归的输出方式。Special Judge是多解哦……

 

POJ 1276 Cash Machine:刚刚过掉,好囧啊!难得发现自己写的代码和网上别人写的差不多,但死活TLE。找错好痛苦啊!最后发现,我用int型数组存放标志位,别人的是用bool型。改掉之后马上AC……TLE证明boolint更快又是DP题,我觉得更偏向于搜索。思路其实很简单,觉得和1837balance挺像的,关键是剪枝。也许有不搜索的方法?不知道大牛们的0MS怎么出来的,反正我的600+

 

POJ 1129 Channel Allocation:实话说很久都没看懂题目。理解力差还是英语水平差?是一个图着色的问题。我的离散数学没好好学啊~根据四色定理,只有4种可能的情况。挨个尝试就可以了。参照了《算法设计与分析》上回溯法求图m着色的算法。

 

POJ 1011 Sticks:是黑书上的例题。DFS搜索。可能的解一定是总长度的约数。看过谭大牛的代码。

 

POJ 3720 Occurrence of Digits:判断循环节。记忆以前的余数,若余数重复,说明小数循环。

COJ上的那题用这种方法不过……不明白。

 

POJ 2328 Guessing Game:设一个top,一个bottom。逐渐逼近。开始想的太简单。可能有6 too high, 8 too high, 7 right on这样的情况,后一个too high会冲掉前一个。还有就是初始top = 0, bottom = 11。否则也会出错。

 

POJ 2488 A Knight's Journey:也是DFS搜索。注意“ lexicographically ”字典序,跳的八个选择是有顺序的。

 

POJ 2262 Goldbach's Conjecture:一个大于4的偶数可以表示成两个素数的和。就是从3n/2一个个试过去……不用管那个 "Goldbach's conjecture is wrong." 。目前还没能证明是错的。

 

POJ 2909 Goldbach's Conjecture:和上面的题一样,只是要计算可能有几组可能的解。

 

POJ 1730 Perfect Pth Powers:此题无比畸形注意负数的情况。精度要高。Shit,真的很畸形。写的郁闷死。

 

POJ 1013 Counterfeit Dollar:模拟题。用一个数组hy[i]保存“偏移值”。平衡的情况说明两边都是真的,用一个数组tr[i]保存。up时左边--,右边++down时左边++,右边--。最后找到不属于tr[i],abs(hy[i])最大的。就是假硬币。

 

POJ 3173 Parkside's Triangle:做个水题找自信……这题水到一定境界了,完全没什么好讲的。细心控制一下输出就好。

 

POJ 1065 Wooden Sticks:嗯,算在贪心里面。1Y,还是蛮简单的。但是方法用的不好,这题数据少所以可以过。3636用同样的方法就会TLE。貌似可以用最长不上升子序列。

 

POJ 3723 Conscription:今天的北大月赛A题。这题雷同学写,一开始思路错了,一直没出来。后来问了某大牛,说是最小生成树。豁然开朗,一下就出来了。关键是想不到啊!我做B题,痛苦的要死,总是WA,也不知道是什么问题……郁闷

 

这周也是没什么重心,就是乱做题了。还是要多归纳总结才行啊。

原创粉丝点击