
POJ
文章平均质量分 69
Oh233
人类的生命就在要健康和要快乐的自欺中消逝殆尽。
展开
-
POJ3026 图论(prim方法)+BFS求距离
就这么做到了人生中第一道略有难度的组合题哈哈哈哈心里还有点小激动。来认真写一发题解好了。题目概述:有一簇叫做Borg的外星生物,想要扫描整个迷宫建立与其所有下属的联系。迷宫有空格,代表能走的路,有#代表墙壁。有A代表生物,有S代表初始位置。从一个点出发,过程中可以随意分裂,但是行走方式只能是上下左右。然后我们要写一个程序,计算扫描的最短距离。也就是说,当有一个方式连接起原创 2015-01-14 00:28:03 · 846 阅读 · 0 评论 -
POJ1458 动态规划 (LCS,水)
嗯确实是LCS最最基础的入门题了。简直是全裸。题目概述:LCS,没啥可说,题目说的十分给面子了。算法思想:算法就是 dp[i+1][j+1] = s1[i] == s2[j] ? dp[i][j]+1 : max(dp[i][j+1],dp[i+1][j]);代码部分:#include #include #incl原创 2015-01-16 20:42:05 · 578 阅读 · 0 评论 -
POJ2533 动态规划 (最长上升子序列)
嘛,两种方法,n^2和nlogn。题目概述:LIS,卧槽真的不是我不想描述,而是找不到方法描述呀。总之就是最长!上升!子序列!算法思想:提供两种dp方法。第一种,dp状态记为dp[i]表示以a[i]结尾的序列的最大长度。这样推得的状态方程就是dp[i] = max(dp[i],dp[j]+1) when a[j]第二种,dp状态记为dp[i]表示长度原创 2015-01-16 21:56:04 · 634 阅读 · 0 评论 -
POJ2431 数据结构 (优先队列)
题目概述:这道题是说一辆小车每单位长度露单位油,然后就这么开呀开呀想要到距离为L的另一个城镇去。路上有一些加油站,每个加油站距离目标城镇的距离给了,能加的油给了,判断最少需要的加油次数。算法思想:嗯大概是这样,我们该如何找到最少的加油次数呢。答案是将加油站看成“备胎”,所以当小车每经过一个加油站,都要将这个加油站能加的油记载到某个容器里面,然后再在需要的时候原创 2015-01-17 00:07:29 · 728 阅读 · 0 评论 -
POJ1860 换零钱套利 图论(Bellman-ford)
第一次做图论的题,所以如果下面的话有说的不对的还请见谅。题目概述:我们的主人公是一个套利商人,通过在各个零钱兑换点来回来去换钱来得到最大的利润,零钱点的信息有零钱兑换率,手续费。我们只需要判断最后他手里的钱是不是能增加就好了。思想就在于算“正权环”。算法思想:我们用Bellman-Ford来做这道题,模型化的方法就是每一种货币当作图的一个点,每一种e原创 2014-12-28 23:24:32 · 1228 阅读 · 0 评论 -
POJ3278 抓奶牛 BFS
嗯弱弱的开始了BFS的旅程,不知从哪里找到了那个做题顺序。于是就按着那个来了。题目描述:嗯这个题目是给你两个数,一个是农夫的坐标n,一个是奶牛的坐标k,坐标轴大小在0到100000之间,然后农夫有三种行进的方法,分别是n+1 , n-1 , 2*n,然后我们就要求的是农夫追上奶牛所用的最短的步数嗯。算法思想:来,都告诉你是BFS了,那就来实现吧。原创 2014-12-27 22:26:31 · 584 阅读 · 0 评论 -
POJ2362 木棒组正方形 DFS+回溯
跪得不要不要的,最近就跟DFS+回溯干上了。嗯这道题就是1011的简化版,但是为什么我的程序跑的比1011慢Orz。题目概述:题目是给定一组数,这些数作为你的输入数据,你要进行判断这些数字能不能组成正方形,能的话输出yes,不能的话输出no。算法思想:心累,自己第一次交是110MS,然后从网上找各种各样的优化方法结果最少只到了47MS,真是要膜拜原创 2014-12-27 20:44:55 · 1716 阅读 · 0 评论 -
POJ1979 红与黑 DFS
这道题是我学了dfs之后用来强化这个思想的。就连我的水平也觉得这道题很水。问题描述:就像是小时候玩的吃豆子的游戏,上下左右走,然后统计一共能吃到多少个豆子。算法思想:其实跟POJ2386差不多,甚至更简单一些,因为这个题基本就是不需要遍历图,只是在起始点周围的四个地方开始运行DFS即可了。能够正常AC,不知道有没有更快捷简便的方法原创 2014-12-24 00:34:52 · 3756 阅读 · 1 评论 -
POJ3259 农场与虫洞 图论(Bellman-Ford求负环)
嗯图论的第二道题,刚刚有一点点入门的感觉www。于是就把心得体会写下来啦。题目概述:主人公农夫有几片农场,然后农场里有各个农田(这个模型化为图的端点),然后各个农田之间有路径(这个模型化为图的边),然后有的边是正常的无向边,以及有的边是有项的虫洞。开始的时候时间为0,通过一条正常边会加时间,通过虫洞减去时间。输入N(1-500),M(1-2500),W(1-100)原创 2014-12-29 14:23:03 · 1158 阅读 · 0 评论 -
POJ3253 数据结构 (优先队列)
Fence Repair题目概述:这道题是说农夫约翰现在要开始锯木板了,但是锯木板是要有很麻烦的花费的。当你把一块长度为A的木板锯成长度为B,C的时候,花费就为B+C,现在给了想要把木板切成几块并且这些块的长度,要求想出一种最少花费的切割方式,并求出这时的最小花费。算法思想:分析:其实可以把分割问题看成一棵树,比如说题目中给的5,8,8,就是21下面两个叉,原创 2015-01-18 20:35:17 · 695 阅读 · 0 评论 -
POJ2253 蛙跳 图论(Dijkstra变形)
好的吧吃了顿饭回来接着干Dijkstra。这回这道题稍微变形了一下。做完这道题感觉嗯..dijkstra只是一种遍历方式,根据特定的松弛条件来遍历整个图。题目概述:嗯题目描述了两只青蛙,然后第一只青蛙想要努力跳到第二只青蛙那里去,位置是按坐标给的。然后中间可能有一些中介的石头,然后我们要计算的是,为使青蛙跳到目的地,其所需要的跳跃距离的最小值。具体输入条件以及题目描原创 2014-12-29 20:35:32 · 679 阅读 · 0 评论 -
POJ1125 股市谣言传播 图论(Floyd最短路)
题目概述:这道题的大意是说,在股市中特定的人之间都有各自的联系,且对于每一条关系,从一个人传递谣言到另一个人的时间是不同的。然后我们的目标是要散布一条谣言,判断出应该从谁开始传播,才可以让这条谣言传播完整个人际关系网络,并且算出传递到最后一个人的时间是多少。另外说一句,这道题的数据非常弱的,估计没有多少个超过20的点的图。而且看别人的博客也没有输入非连通的情况。算法思想原创 2015-01-01 21:10:35 · 890 阅读 · 1 评论 -
POJ3414 模拟倒水问题 BFS记录路径
卧槽!被struct折服了!以后就用它了!题目概述:这道题就是经典的倒水问题,不禁感慨一句以前需要人脑来做的东西现在直接计算机模拟就够了。给定三个数字,前两个数字表示的是两个桶的最大容量,第三个数字表达的是目标容量。一共有三种操作,分别是清空某桶,装满某桶,还有把一个桶里面的水倒入另一个桶(如果会溢出就只能刚好倒满,剩下的水留在自己的桶里)。要求输出最少的操作步数,并且原创 2014-12-28 19:21:18 · 595 阅读 · 0 评论 -
POJ1011 选木棒 DFS+剪枝
概述:继续练习DFS的算法,便百度到了这一题,相比之前的两道题,这个题目却是可以称为一道难题了。我一直觉得ACM中最难的就是把问题抽象为数学模型的步骤,以及联系过往知识算法的能力,这也是我最想要锻炼的东西。本人不才,想了没多久发现不会做就去搜索别人的代码了。想要在初级阶段先通过别人的代码让自己熟悉起来,这样或许可以慢慢得心应手。题目描述:给定n个原创 2014-12-24 19:34:04 · 892 阅读 · 0 评论 -
POJ1258 图论(Prim方法)
题目概述:农夫约翰被选举成为了当地村落的村长,他自己有一台高速的宽带,他现在想要把这个宽带分享给村里其他所有的人。自然,家与家之间的连接需要假设宽带,现在给定每两家之间的距离,那么我们要给约翰设计一条宽带架设方法,这条方法要能够连接约翰和其他所有用户,并且总架设长度最短。算法思想:挺明显的最小生成树,就是从农夫约翰那个点为起点,然后可以选择按prim的方法来遍历原创 2015-01-13 19:24:36 · 656 阅读 · 0 评论 -
POJ2475 图论(Prim方法)
题目概述:现有Flatopia这个地方的政府打算修建公路,打算修建的公路应该能够满足从一个地点一定能到达另一个地点,政府的目的是在保证任意一个城镇均能从其他任意城镇到达的前提下,要使修建的那条最长公路的长度最小。翻译一下,就是连通图(保证任意一个城镇均能从其他任意城镇到达),求最小生成树(公路)的最大边(最长公路)。算法思想:用最小生成树中的prim算法,按原创 2015-01-13 00:02:38 · 933 阅读 · 0 评论 -
POJ1035 字符串处理(水)
嗯虽然题目上写着水,但是说起来都是辛酸泪啊T^T题目概述:如今你身为一个项目组的一员,给你输入一个字典,单词不超过10000个,以#标记结束。之后再给定几个单词,进行字符串的匹配。当然这个匹配不是完全匹配。如果字典里面的单词通过删除/加入/替换其中一个字母,就可以达到所给单词的话,也算匹配。输出所有匹配的可能字符串。算法思想:嗯说说为什么会辛酸泪吧。原创 2015-01-14 20:53:57 · 789 阅读 · 0 评论 -
POJ算法做题顺序[转]
初期:一.基本算法:(1)枚举. (poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造法.(poj3295)(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:(1)图的深度优先遍历和广度优先遍历转载 2014-12-27 22:21:50 · 806 阅读 · 0 评论 -
POJ1426 倍数01 BFS(同余模定理)
这道题我想吐槽的是,卧槽为什么我的第一种方法竟然可以AC,这也太不严谨了。题目概述:这道题是说给定一个1-200之间的数n,在他的倍数中找到一个数,这个数的要求是所有位数只为0或者1,输出这个数。算法思想:开始想的是枚举每个倍数,然后每个倍数去检测是不是0还是1,觉得卧槽肯定越界,肯定越界,肯定越界,然后就又想了一下没想出来就去看解题报告了。嗯然原创 2014-12-28 14:56:33 · 638 阅读 · 0 评论 -
POJ1062 昂贵的聘礼 图论(Dijkstra)
刚刚学dijkstra算法,卧槽痛苦的干了一下午这个题,从开始学,到模仿别人的代码,到改代码的bug等等一系列的事情。终于感觉有点对这个算法入门了哈哈。题目概述:题目是说有一个探险家想要娶酋长的女儿,但是原始部落嘛就需要聘礼,然后幸好的是这个金币可以由另一些不值金币这些钱的货物抵价,那么我们的探险家先生就拜托我们算一算自己最少花多少钱才能娶回酋长的女儿。然后这个部落的蛋原创 2014-12-29 18:32:29 · 698 阅读 · 0 评论 -
POJ1182 数据结构 (并查集)
嗯,相比于网上流传的记载relation推公式的方法,我采用了某一本教材上面的方法,方法下面详述。题目概述:一共给定N种动物,K句话,动物们都是A,B,C的一种,且遵循A吃B,B吃C,C吃A的循环关系,那现在按顺序给定话,要求判断给定的这句话有没有矛盾。算法思想:这道题是利用并查集解决问题的好题目,直接开一个三倍于MAX_N的数组,比如说1记载1是A原创 2015-01-16 14:21:59 · 614 阅读 · 0 评论 -
POJ1837 动态规划 (01背包)
好了!开始干DP。话说我已经预感到我dp会弱到一定程度了。预计会先持续干两天的dp。题目概述:这道题目是说现在有一个神奇的天平,你的目的是要令他平衡。天平两边长度均为15,每边最多有20个挂钩,一共提供最多20个砝码,要求计算当所有砝码都挂上的时候,能使天平平衡的悬挂方式一共有多少种呢。算法思想:不得不承认,即使知道这是一个01背包的题,开始做的原创 2015-01-15 17:38:34 · 672 阅读 · 0 评论 -
POJ1384 动态规划 (完全背包)
嗯哼,继续动态规划,其实有点想滚去做开发。题目概述:有一个存钱的人,往小猪罐子里存钱。给定罐子净重,和存钱后的质量。继而给定每一种扔进去硬币的价值和重量,要求计算最小的可能的满足这个总质量的钱的价值总和。很明显的完全背包,因为投进去的钱可以是无限的。算法思想:具体描述一下动态规划数组。这道题是完全背包,所以第二层循环可以用顺序递增。关于怎么把原创 2015-01-15 20:04:02 · 1002 阅读 · 0 评论 -
POJ2386 Lake Counting 图遍历/DFS
大概是这道题让我走入了DFS的大门吧。用了图形的遍历加上DFS的思想。问题描述:题目是给你一个N*M大小的水池,然后其中分为W和 . 两个字符,W代表了水,那么我们要算的就是八连通的水的个数。算法思想:在最外层做一个N*M的循环,把整个图用最naive的方法遍历一遍,检查是不是有W的地方。在每一个W的地方开始运行dfs这个函数,这个函数的作用是首先将该点设为 . ,原创 2014-12-23 23:31:12 · 642 阅读 · 0 评论 -
POJ1321 棋盘 DFS+回溯
嗯继续练DFS。发现DFS跟回溯好像比较好结合,要牢牢地掌握这种思想。题目概述:前人总结这道题说是简化版的八皇后问题,其实确实是这样,略有不同之处就是首先这个棋盘并不是完整意义上的 n x n 形状,而是不规则的形状,其可以放置棋子的地方都用 '#' 标注出来了。然后要求每一横行,每一纵行都至多有一个棋子,然后最后计算出可以这么摆放的形式的个数。算法思想:原创 2014-12-27 15:38:26 · 535 阅读 · 0 评论 -
做题时候遇到的迷之问题
下列列举了一些奇怪的情况,经常是做了四五个小时觉得自己完全没有错误但是仍然AC不了的case。可能是我自己有很多东西没有熟练吧。每一阶段训练结束之后都要回过头来看看这些题看看能不能解决。1. POJ 2240。迷之WA这道题是我练Bellman-Ford的时候的一道题,开始做这道题的时候也就是用Bellman-Ford算负环,然后WA,网上一搜看到有人是用了n次Bell原创 2015-01-01 23:08:37 · 676 阅读 · 0 评论