上一页 1 ··· 45 46 47 48 49
摘要: 迭代加深ID-DFS搜索算法迭代加深搜索,实质上就是限定下界的深度优先搜索。即首先允许深度优先搜索K层搜索树,若没有发现可行解,再将K+1后重复以上步骤搜索,直到搜索到可行解。迭代加深搜索算法的实现原理及基本框架在迭代加深搜索的算法中,连续的深度优先搜索被引入,每一个深度约束逐次加1,直到搜索到目标为止。基本框架如下:ProcedureID-dfs(dep:integer);VarJ:integer;BeginIfdep>深度的限界thenexit;//如果搜索的深度大于限界,则返回上一层Forj:=1tondo// 按照规则生成子结点If子结点安全thenBegin入栈;If子结点是目 阅读全文
posted @ 2012-06-23 03:50 AbandonZHANG 阅读(3935) 评论(0) 推荐(0) 编辑
摘要: Humble NumbersFor a given set of K prime numbers S = {p1,p2, ..., pK}, consider the set of all numbers whose primefactors are a subset of S. This set contains, for example, p1, p1p2,p1p1, and p1p2p3(amongothers). This is the set of `humble numbers' for the input set S. Note: Thenumber 1 is expli 阅读全文
posted @ 2012-06-23 03:48 AbandonZHANG 阅读(218) 评论(0) 推荐(0) 编辑
摘要: Bessie Come Home回家 现在是晚餐时间,而母牛们在外面分散的牧场中。 农民约翰按响了电铃,所以她们开始向谷仓走去。 你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有且只有一只最快的母牛)。 在挤奶的时候(晚餐前),每只母牛都在她自己的牧场上,一些牧场上可能没有母牛。 每个牧场由一条条道路和一个或多个牧场连接(可能包括自己)。 有时,两个牧场(可能是字母相同的)之间会有超过一条道路相连。 至少有一个牧场和谷仓之间有道路连接。 因此,所有的母牛最后都能到达谷仓,并且母牛总是走最短的路径。 当然,母牛能向着任意一方向前进,并且她们以相同的速度前进。 牧场被标记为 阅读全文
posted @ 2012-06-21 08:26 AbandonZHANG 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 整数对Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1492Accepted Submission(s): 522Problem DescriptionGardon和小希玩了一个游戏,Gardon随便想了一个数A(首位不能为0),把它去掉一个数字以后得到另外一个数B,他把A和B的和N告诉了小希,让小希猜想他原来想的数字。不过为了公平起见,如果小希回答的数虽然不是A,但同样能达到那个条件(去掉其中的一个数字得到B,A和B之和是N),一样算小希胜 阅读全文
posted @ 2012-06-20 17:05 AbandonZHANG 阅读(161) 评论(0) 推荐(0) 编辑
摘要: Overfencing穿越栅栏Kolstad and Schrijvers特别鸣谢lyl提供翻译!描述 农夫John在外面的田野上搭建了一个巨大的用栅栏围成的迷宫。幸运的是,他在迷宫的边界上留出了两段栅栏作为迷宫的出口。更幸运的是,他所建造的迷宫是一个“完美的”迷宫:即你能从迷宫中的任意一点找到一条走出迷宫的路。给定迷宫的宽度W(1<=W<=38)及高度H(1<=H<=100)。 2*H+1行,每行2*W+1的字符以下面给出的格式表示一个迷宫。然后计算从迷宫中最“糟糕”的那一个点走出迷宫所需的步数(就是从最“糟糕”的一点,走出迷宫的最少步数)。(即使从这一点以最优的方式 阅读全文
posted @ 2012-06-19 18:58 AbandonZHANG 阅读(387) 评论(0) 推荐(0) 编辑
摘要: The Clocks时钟 (IOI'94 - Day 2)描述考虑将如此安排在一个 3 x 3 行列中的九个时钟: |-------| |-------| |-------| | | | | | | | |---O | |---O | | O | | | | | | | |-------| |-------| |-------| A B C |-------| |-------| |--... 阅读全文
posted @ 2012-05-31 19:44 AbandonZHANG 阅读(305) 评论(0) 推荐(0) 编辑
摘要: O(n)回文子串算法 这里,我介绍一下O(n)回文串处理的一种方法。Manacher算法. 首先:大家都知道什么叫回文串吧,这个算法要解决的就是一个字符串中最长的回文子串有多长。这个算法可以在O(n)的时间复杂度内既线性时间复杂度的情况下,求出以每个字符为中心的最长回文有多长, 这个算法有一个很巧妙的地方,它把奇数的回文串和偶数的回文串统一起来考虑了。这一点一直是在做回文串问题中时比较烦的地方。这个算法还有一个很好的地方就是充分利用了字符匹配的特殊性,避免了大量不必要的重复匹配。 算法大致过程是这样。先在每两个相邻字符中间插入一个分隔符,当然这个分隔符要在原串中没有出现过。一般可以用‘... 阅读全文
posted @ 2012-05-27 14:12 AbandonZHANG 阅读(232) 评论(0) 推荐(0) 编辑
摘要: Barn Repair修理牛棚在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶、门被吹飞了。 好在许多牛正在度假,所以牛棚没有住满。 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜。 有些牛棚里有牛,有些没有。 所有的牛棚有相同的宽度。 自门遗失以后,farmer John必须尽快在牛棚之前竖立起新的木板。 他的新木材供应商将会供应他任何他想要的长度,但是吝啬的供应商只能提供有限数目的木板。 farmer John想将他购买的木板总长度减到最少。描述给出:可能买到的木板最大的数目M(1<= M<=50);牛棚的总数S(1<= S<=200); 牛棚 阅读全文
posted @ 2012-05-25 21:15 AbandonZHANG 阅读(724) 评论(0) 推荐(0) 编辑
摘要: Name That Number命名那个数字在威斯康辛州牛大农场经营者之中,都习惯于请会计部门用连续数字给母牛打上烙印。但是,母牛本身并没感到这个系统的便利,它们更喜欢用它们喜欢的名字来呼叫它们的同伴,而不是用像这个的语句"C'mon, #4734, get along."。请写一个程序来帮助可怜的牧牛工将一只母牛的烙印编号翻译成一个可能的名字。因为母牛们现在都有手机了,使用那标准的按键的排布来把将数目翻译为文字:( 除了 "Q" 和 "Z")描述 2: A,B,C 5: J,K,L 8: T,U,V 3: D,E,F 6: 阅读全文
posted @ 2012-05-17 18:39 AbandonZHANG 阅读(239) 评论(0) 推荐(0) 编辑
摘要: Milking Cows挤牛奶 描述三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶。第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒。第二个农民在700秒开始,在 1200秒结束。第三个农民在1500秒开始2100秒结束。期间最长的至少有一个农民在挤奶的连续时间为900秒(从300秒到1200秒),而最长的无人挤奶的连续时间(从挤奶开始一直到挤奶结束)为300秒(从1200秒到1500秒)。你的任务是编一个程序,读入一个有N个农民(1 <= N <= 5000)挤N头牛的工作时间列表,计算以下两点(均以秒为单位):最长至少有一人在挤奶的时间段。最长的无人挤奶的 阅读全文
posted @ 2012-05-16 23:15 AbandonZHANG 阅读(381) 评论(0) 推荐(0) 编辑
上一页 1 ··· 45 46 47 48 49