POJ
文章平均质量分 68
Bearox
浙江 永康
展开
-
POJ1157
题目链接:POJ 1157这道题和数塔差不多,大概意思就是花瓶里面插花。然后,要按顺序放入花瓶中。放入不同的花瓶中有不同的美观值,让这个值最大。明显的动归题目。错了一次。错在那个_max值更新的时候更新错了。因为不允许有花是空着没插的,所以第二束花插在第一个花瓶中是没有意义的。176K 0MS看了一下算写的最好的了!纪念一下哈:/*Problem: 1157 User: Bear原创 2013-03-29 11:38:42 · 883 阅读 · 0 评论 -
(哈希)POJ2785
题目链接:http://poj.org/problem?id=2785题目的大意是:从四列中分别选取一个数使得总和为0,问一共有多少种取法。注意如果第一列有两个0,用第一个0和第二个0是两种不同的取法。感觉直接做肯定会超时所以没有去暴力。上网查了解题报告说是哈希。第一次接触哈希,看了好多资料(有点浮躁,总是看不进去)。最后终于写出来了。下面是几个注意点 :首先哈希会存在冲突,所原创 2013-05-07 12:12:39 · 1137 阅读 · 0 评论 -
POJ1160
题目链接这倒题目对我来说感觉很难。想了很久都没有想到,后来看了一份ppt才敲出了代码。这是那个PPT的链接:PPT链接这里面讲的很详细,照着它说的推一下就能写出程序了。关于最后一页的优化我没有做,不过我感觉应该不会很难。下面是我A的代码,效率有点低。以后有兴致了,再试着不参考,写一下优化过的代码,看看自己是不是真的理解了。/*Source CodeProblem: 1160原创 2013-03-31 12:16:40 · 976 阅读 · 0 评论 -
POj3230
好久没有做题目了,最近刚开始玩ubuntu爱不释手啊。导致我的A题大业都停滞不前啊,还好今天终于有接着做题了。今天早上看了这个POJ3230一推敲是一个动归题,状态也很好确定f[i][j]表示第i天在第j个城市能得到的最多的钱。但是还是wa了好多次,好桑心啊。原来是因为第一天的情况没有考虑清楚,第一天肯定是从第一个城市出发的,所以上一个城市的起始点肯定是第一个城市,已经无需遍历了。而以后的几天原创 2013-04-13 09:09:44 · 815 阅读 · 0 评论 -
POJ 1631
题目链接:POJ 1631(最长上升子序列)看了题目以后就知道这是最长上升子序列,本来想跳过去不做了。后来,觉得不能自满,于是就又敲了一边最长上升子序列的代码。结果TL了。这下囧了!一直不知道最长上升子序列还能优化的。百度了一下,原来很简单。开一个数组d[],用d[i]表示长度为i的最小的那个数,这样可以大大地减小重复的次数。而且这样做空间复杂度还是一样的。不难发现d[i]十一个递增的数列原创 2013-03-27 19:46:27 · 936 阅读 · 0 评论 -
POJ 1887
求最长上升子序列。g[i]表示到达第i个数时能达到的最长的长度。代码写的不怎么样,貌似有更好的算法。有时间再去学习一下。#includeusing namespace std;int f[40000], g[40000];int a = 0;int main(){ cin >> f[0]; while(f[0] != -1) { int i = 1; f原创 2013-03-20 19:52:46 · 811 阅读 · 0 评论 -
POJ1992(Jack)
这道题是问你有多少种能最快到达终点的方法。注意这里的最快不是相对是最快。而是路线只能向右或者向下 不允许向上或者向左走。题目的数据很弱,所以我直接用广搜也过了。但是跟大神们的代码比真的是太搓了。真心想不到什么好的办法。下面是我的代码:#include#include#includetypedef struct{ int x, y;}Point;typedef struc原创 2013-04-07 21:07:13 · 1931 阅读 · 0 评论 -
POJ1179(动归难题)
题目链接:点击打开链接好晕啊!好久没写解题报告了。就是因为做不出来。前两天还出去玩了,回来编程的感觉都没有了。整天都沉迷于漫画。今天早上终于搞定了一道题。这道题感觉不是很容易想清楚。甚至看了解题报告以后还错了好多次,最后静下来终于理清楚了思路,把代码写出来了。下面分析一下这道题目的思路:题目的意思是去掉一条边,然后结合顺序任意。让最后结果最大,输出最大的结果,以及能得到这个结果原创 2013-04-07 08:53:26 · 1175 阅读 · 0 评论 -
POJ1125
题目链接:点击打开链接不枉我一早起来看最短路径啊,一下子就接受了。这道题就是一道有向图求最短路径。我用的是Dijkstra算法,遍历每一个点为起点。求出每个点到他最远的点的距离。注意这道题用的是最短路径的方法,其实意思是一个人要把信息传达给大家,但是好像这个人可以同时传达信息给他所能传达到的人。比如:1 传给 2和3的时间都是 3分钟的话,那么1传话给大家的时间就是三分钟。但是不同原创 2013-04-01 08:16:05 · 709 阅读 · 0 评论 -
POJ1050
题目链接:POJ1050题目大意是在一个矩阵中求能使和最大的子矩阵,自己想了好一会但是没想出来,后来去找了解题报告。大致就是把一个矩阵压缩成一维的数组,然后求最大的字串和。比如3 1 25 7 81 2 3三行压缩成一行就成了9 10 13然后,用暴力,从不压缩,到全压缩,然后从第几行开始压缩。最后找出那个最大值就行了。提交的代码里面很多的代码时间比我的代码还少原创 2013-03-29 12:33:06 · 839 阅读 · 0 评论 -
(简单哈希)POJ1200
题目链接:http://poj.org/problem?id=1200题意:第一行给出两个数,第一个数 n 表示连续字串的长度,第二个m为下面输入的字符串中含有多少个不同的字符。第二行输入一串字符。问该字符串中多少种长度为n的连续字串。因为字符串中最多有m种不同的字符,那么只需要把字符串转换成相应的m进制数,然后映射到哈希表中。一开始我把num数组全部初始化为0,错了一次(错的数据: 1 5原创 2013-05-08 09:41:35 · 1151 阅读 · 1 评论