上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页

2011年7月30日

POJ2485-Highways

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299323790提示:题意很简单,就是求最小生成树的最大边。继续Prim吧O(∩_∩)O 1 //Memory Time 2 //656K 766MS 3 //思路、解法都和POJ1789基本一致,只是多了一个判定条件 4 5 #include<iostream> 6 using namespace std; 7 8 const int inf=65540; //无限大 9 int dist[501][501];10 int n; //村落数量11 12 int prim( 阅读全文

posted @ 2011-07-30 09:16 小優YoU 阅读(261) 评论(0) 推荐(0) 编辑

POJ1789-Truck History .

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299323607题意大概是这样的:用一个7位的string代表一个编号,两个编号之间的distance代表这两个编号之间不同字母的个数。一个编号只能由另一个编号“衍生”出来,代价是这两个编号之间相应的distance,现在要找出一个“衍生”方案,使得总代价最小,也就是distance之和最小。例如有如下4个编号:aaaaaaabaaaaaaabaaaaaaabaaaa显然的,第二,第三和第四编号分别从第一编号衍生出来的代价最小,因为第二,第三和第四编号分别与第一编号只有一个字母是不同的 阅读全文

posted @ 2011-07-30 09:15 小優YoU 阅读(1072) 评论(0) 推荐(0) 编辑

POJ2240-Arbitrage

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299339309提示:本题需要建立容器,建立字符串到int的映射(一一对应)关系,把然后字符串作为数组下标,模拟数组题意:求自身到自身的最大转换率。 最简单的方法就是floryd算法变形,求最大路径后,求最大环,看它是否满足条件。 每一个结点都必须有到自身的环(不甚清楚原因)。注意:该double的地方一定不能为int,切记!!! 1 //Memory Time 2 //276K 79MS 3 4 #include <iostream> 5 #include<map& 阅读全文

posted @ 2011-07-30 01:45 小優YoU 阅读(284) 评论(0) 推荐(0) 编辑

POJ1125-Stockbroker Grapevine

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299338996提示:最短路问题,Floyd算法,相比于Bellman和Dijkstra,我认为是最接近人类自然思维的算法,O(∩_∩)O哈哈~说真的,我第一次做Floyd的题目时,我没有看过Floyd算法,我自己把Floyd推导出来了。。。至于数据的存储,就用邻接矩阵,只要对矩阵上的时间进行修改就行了,相对比较方便。 问题重述 描述 众所周知,证券经纪业依靠的就是过度的传言。您需要想出股票经纪人中传播假情报的方法,让您的雇主在股票市场的占据优势。为了获得最大的效果,你必须蔓延最快的方 阅读全文

posted @ 2011-07-30 01:42 小優YoU 阅读(674) 评论(0) 推荐(0) 编辑

POJ2253-Frogger

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299339470提示:唉。。不说了,又是Floyd...注意精度就是了题目大意:给出两只青蛙的坐标A、B,和其他的n-2个坐标,任一两个坐标点间都是双向连通的。显然从A到B存在至少一条的通路,每一条通路的元素都是这条通路中前后两个点的距离,这些距离中又有一个最大距离。现在要求求出所有通路的最大距离,并把这些最大距离作比较,把最小的一个最大距离作为青蛙的最小跳远距离。Floyd算法用Floyd算法求出两两最短路,再求出从每个点开始的最长路,最后从这n个最长路中求出最小的那个即为所求。 1 阅读全文

posted @ 2011-07-30 01:39 小優YoU 阅读(545) 评论(0) 推荐(1) 编辑

POJ1062-Expensive dowry

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299338542提示:难得的中文题。。虽然语言相通但是不好解决。。。都说便宜没好货,这是真的= =最短路问题,dijkstra算法的运用。。。很多同学对dijkstra有一种与生俱来的恐惧,首当其冲就是它的名字。。说实在我现在也不知道怎么念它O(∩_∩)O哈哈~其实dijkstra很简单的,最难也就它的名字,不懂得同学去翻书,这里我不解释dijkstra,我只说一个我认为能够很好理解dijkstra精髓的关键点: 新源点合并到旧源点时,新源点到旧源点的边权的移交(也可理解为松弛)弄清了 阅读全文

posted @ 2011-07-30 01:36 小優YoU 阅读(257) 评论(0) 推荐(1) 编辑

POJ3259-Wormholes

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299075341提示:利用虫洞的时光旅行,很有趣的一道题。涉及到图论的知识,关键是构造图,用Bellman-Ford算法找出负权环Bellman-Ford算法核心在于松弛,具体可以百度,这里就不重复前人的智慧了O(∩_∩)O哈哈~需要注意的就是输入说明Input这部分,很多人读不懂这段题意:正权(双向)边部分:Line 1 of each farm: Three space-separated integers respectively: N, M, and W Lines 2~M+1 阅读全文

posted @ 2011-07-30 00:01 小優YoU 阅读(337) 评论(0) 推荐(0) 编辑

2011年7月29日

POJ1860-Currency Exchange

摘要: 转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299337940提示:关键在于反向利用Bellman-Ford算法题目大意有多种汇币,汇币之间可以交换,这需要手续费,当你用100A币交换B币时,A到B的汇率是29.75,手续费是0.39,那么你可以得到(100 - 0.39) * 29.75 = 2963.3975 B币。问s币的金额经过交换最终得到的s币金额数能否增加货币的交换是可以重复多次的,所以我们需要找出是否存在正权回路,且最后得到的s金额是增加的怎么找正权回路呢?(正权回路:在这一回路上,顶点的权值能不断增加即能一直进行松 阅读全文

posted @ 2011-07-29 23:47 小優YoU 阅读(374) 评论(0) 推荐(0) 编辑

POJ3982-The Fibonacci sequence

摘要: 转载请注明出处:優YoUhttp://user.qzone.qq.com/289065406/blog/1305340420变种的大数斐波那契数列水题,直接加就可以了,循环使用4个大数数组a,b,c,ans存放最新的和值,循环25次后的ans就是A99的值 1 //Memory Time 2 //216K 32MS 3 4 #include<iostream> 5 #include<string> 6 using namespace std; 7 8 const int size=1000; //大数位数 9 10 void add(char* aa,char* bb, 阅读全文

posted @ 2011-07-29 20:21 小優YoU 阅读(216) 评论(0) 推荐(0) 编辑

POJ2602-Superlong sums

摘要: 转载请注明出处:優YoUhttp://user.qzone.qq.com/289065406/blog/1305101054非常恶心的大数相加= =首先输入就够恶心了。。。哪有人逐位还要间断输入两个数的。。。。注意:如果用char[]保存加数和被加数,要用getchar()输入, 如果用int[]保存加数和被加数,要用scanf)输入。用cin会超时,cin是重载函数,没有指定格式,输入时比较浪费时间100W的空间不能局部静态申请,单可以全局静态申请,也可以局部动态申请(用new)最恶心得是,我把结果开头的0(如果有的话)删去,竟然WA,真没见过这样的加法!Output file should 阅读全文

posted @ 2011-07-29 20:17 小優YoU 阅读(326) 评论(0) 推荐(0) 编辑

上一页 1 ··· 8 9 10 11 12 13 14 15 16 下一页

导航