poj
文章平均质量分 63
zero_from
这个作者很懒,什么都没留下…
展开
-
poj 1160 post office------DP
题目大意: 有一条笔直的公路,每个村庄的位置被确定为一个单一的整数坐标。在同一位置上没有两个村庄。两个位置之间的距离是它们的整数坐标的差值的绝对值。邮政局将建立在一些村庄,但不一定是所有的。一个村庄和邮局有相同的位置。对于建立邮政局,应选择他们的位置,使每个村和它最近的邮局之间的所有的距离的总和最小。你要写一个程序,给出了村庄的位置和邮局的数量,计算出所有距离最小的总和。算法: DP,预处原创 2016-08-14 17:34:13 · 321 阅读 · 0 评论 -
poj 1088 滑雪
DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714 2原创 2016-08-04 08:42:05 · 203 阅读 · 0 评论 -
poj 1860 Currency Exchange
题目大意有多种汇币,汇币之间可以交换,这需要手续费,当你用100A币交换B币时,A到B的汇率是29.75,手续费是0.39,那么你可以得到(100 - 0.39) * 29.75 = 2963.3975 B币。问s币的金额经过交换最终得到的s币金额数能否增加算法思想:最短路变形,spfa变形可过。提示:关键是找出正环,在此回路上来回跑,货币金额就一直涨。#include#in原创 2016-08-02 17:55:08 · 199 阅读 · 0 评论 -
poj 2421 Constructing Roads
http://poj.org/problem?id=2421题目大意给你一些点,求最小生成树,但有些点已经连好了。算法思想:最小生成树,kruskal可过,区别仅仅在于存图时多一步。#include #include#includeusing namespace std;int num=0,fa[1001],f[101][101];struct dist{ in原创 2016-08-02 17:40:27 · 182 阅读 · 0 评论 -
poj 3411 Paid Roads
题目大意有n座城市和m(1注意:路径是有向的。算法思想:dfs可过。提示:最优解法不是每条路只允许走一遍,可能有情况满足某条路i的p比r小很多,而且走c城市再回来走总钱数比直接走、付费r更省,此时只走i的“最短路”就不是最优解。每条路都可以重复走,那么为了防止出现死循环,当判断出途中有环时应当跳出。当某座城市走过3次以上时,可以判定陷入环中,应当跳出(至于为啥是原创 2016-08-02 17:06:57 · 302 阅读 · 0 评论 -
poj 1724 Roads
题目大意给定一个图,图中每条路都有 路长Length 和 过路费Toll 两个参数,一条路连接两个城市,任意两个城市之间有且仅有一条路。现在只有 K 块钱,要求从起点City1出发,到达终点CityN的最短路,也就是说在 K 花费内的最短路。算法思想:最短路变形,spfa可过。变量解释:dis[i][j]表示花费j个点数到达第i座城市的最短路,ans表示所求。原创 2016-08-02 16:52:23 · 232 阅读 · 0 评论 -
poj 1159 palindrome-----动态规划
题目大意 给出一个字符串,求至少需要插入多少个字符使原字符串变为回文串(如abcde不是回文串,而abcba是回文串);算法结合最长公共子序列问题,把原串(长度为n)逆序存储一下,求其与原串的最长公共字串长度k,则n-k即为所求。注意 5000*5000的二维数组不会爆空间,但实际上完全可以滚动第一维,用滚动数组存储显然节省了相当的空间。代码实现-非滚动版 #include原创 2016-08-26 17:56:27 · 548 阅读 · 0 评论 -
poj 2362 square-----搜索+剪枝
题目大意给出n根木棍,问是否可以首尾相连组成一个正方形。算法 dfs+剪枝,合理巧妙的剪枝是避免TLE的关键;1.特判,当木棍总长度不正好是4的倍数时,pass;2.最长的木棍比边长小时,pass;3.对木棍长排序,每次都从当前最大到小枚举,在同一条边中,之前放不下的木棍现在也一定放不下;4.已经确定有解时,跳过剩下的过程;5.三条边都可以,第四条一定可以。代码原创 2016-08-26 18:05:34 · 395 阅读 · 0 评论 -
poj 1330 Nearest Common Ancestors
题目大意给t组数据,每组数据给出n个节点和n-1条边的信息构成一棵树,再给出一对节点u和v,求u和v的最近公共祖先。原创 2016-08-05 15:36:20 · 180 阅读 · 0 评论