DP+FS
文章平均质量分 73
yll1
day day up
展开
-
堪称最好的A*算法
译序这篇文章很适合A*算法的初学者,可惜网上没找到翻译版的。本着好东西不敢独享的想法,也为了锻炼一下英文,本人译了这篇文章。由于本人英文水平非常有限,六级考了两次加一块不超过370分,因此本译文难免存在问题。不过也算是抛砖引玉,希望看到有更多的游戏开发方面的优秀译作出现,毕竟中文的优秀资料太少了,中国的游戏开发者的路不好走。本人能力有限,译文中有小部分词句实在难以翻译,因此暂时保留英文转载 2016-04-01 11:02:16 · 898 阅读 · 0 评论 -
POJ 2312
这个是BFS+优先队列,开始知道的时候就用步伐做优先的值。。没有考虑在'B' (brick wall) 时候的延迟一步就答案错了几次,不知道错在哪,百度的时候才知道要加。。。1.基本操作:empty() 如果队列为空返回真pop() 删除队首元素push(x) 加入x元素size() 返回当前队列中元素个数top() 返回队首原创 2013-09-17 17:36:50 · 868 阅读 · 0 评论 -
HDU 1026 (BFS+优先队列)
BFS+优先队列,做这个题的时候只要保存路径的前驱就行啦!!其他没有处理。虽然一次性AC,但是打了好久,手都累了。(还加上改错吧!!)AC代码:#include#include#include#includeusing namespace std;char q[108][108];int w[108][108];int m,n;struct node1{ //原创 2013-09-17 19:00:42 · 750 阅读 · 0 评论 -
HDU 1242 (BFS+优先队列)
这个题目直接BFS+优先队列;没有其他考虑的,从天使开始搜就行啦!!AC代码:#include#include#include#includeusing namespace std;char q[208][208];int w[208][208];int m,n;struct node{ int a,b; int pri; bool operator<(c原创 2013-09-17 19:52:04 · 742 阅读 · 0 评论 -
HDU Doing Homework again
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1789 Problem DescriptionIgnatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a dead原创 2013-06-20 09:31:33 · 865 阅读 · 0 评论 -
HDU (1050) Moving Tables
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1050 Problem DescriptionThe famous ACM (Advanced Computer Maker) Company has rented a floor of a building whose shape is in the following figure.原创 2013-06-20 11:41:34 · 676 阅读 · 0 评论 -
HDU 4512 吉哥系列故事——完美队形I
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4512Problem Description 吉哥这几天对队形比较感兴趣。 有一天,有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要求,则称之为完美队形:原创 2013-07-16 14:06:20 · 788 阅读 · 0 评论 -
POJ 3260(DP)
题意是:农场主去买东西,给定买价值为T的物品,还有n种面值的硬币,及每种硬币的数量。而卖方也只能有那几种硬币,但是个数不限。所以要把支付钱的组合分为俩个DP来求:1):求卖方的找零应该用的是完全背包。2):农场主的支付应该是变化版的0-1背包。3):所以找到使用数量最小的钱数。minn=dp1[i]-dp2[i-t];AC代码:#include#include#incl原创 2013-08-21 15:34:18 · 793 阅读 · 0 评论 -
HDU 1561
题目是一个基础的树型动规的题目,也是我正式做的第一个树型动规的题目吧!!在看大牛博客的时候,把树型动规看成背包问题加了一个标记数组,但是现在还是不能理解。在构建树的时候,理解了好久。AC代码:#include#include#include#includeusing namespace std;int dp[208][208],head[208],son[208],q[20原创 2013-08-24 16:32:38 · 699 阅读 · 0 评论 -
UVA 10032(Tug of War)
这个开始的时候就用01背包3维数组,不知超时了多少次了,及其的伤感。后来用vector容器来做就可以防止超时发生了。简单总结一下vector用法,因为在动规里面经常要用到的。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。 vector里面的数据是动态分配的,使用push_bac原创 2013-09-11 10:19:14 · 1661 阅读 · 2 评论 -
HDU "下沙野骆驼"ACM夏令营
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1292Problem Description大家都知道,杭电计算机学院为了吸引更多的学生参与到程序设计竞赛中去,从2005年秋天,开始举行月赛,并一直坚持到了现在。事实表明,这项措施的效果还是很明显的,现在坚持参加训练的学生比以前有了较大幅度的增长,整体水平也有了较大的提高。为了原创 2013-06-28 10:18:59 · 1008 阅读 · 0 评论 -
HDU 威威猫系列故事——篮球梦
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4504Problem Description 威威猫十分迷恋篮球比赛,是忠实的NBA球迷,他常常幻想自己那肥硕的身躯也能飞起扣篮。另外,他对篮球教练工作也情有独钟,特别是对比赛的战术,投篮选择方面也是很有研究,下面就是威威猫研究过的一个问题: 一场NBA篮球比赛总共48分钟,原创 2013-06-26 17:21:14 · 729 阅读 · 0 评论 -
ACM 回溯法的题型及知识点
基本思想: 在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯。(其实回溯法就是对隐式图的深度优先搜索算法)。 若用回溯法求问题的所有解时,要回溯到根,且根结点的所有可行的子树都要已被搜索遍才结束。 而若使用回溯原创 2013-07-02 15:43:36 · 1896 阅读 · 0 评论 -
POJ 1090 生日蛋糕
是个bfs的题目,加剪枝就行。重点是怎样来剪枝。自己敲了,提交超时——应该是剪枝没有处理好,后来百度看了一下0ms过的代码,发现就差一个剪枝(2*(n-z)/r+y > s)就可以了。AC代码:#include#include#include#include#include#define maxx 99999999using namespace std;int n,m原创 2013-09-25 11:31:50 · 902 阅读 · 0 评论 -
POJ 1011 Sticks
题目的意思:给定N段长度不超过50的木棍,拼成相同长度的木棍,求这个长度的最小值。这个题目需要很多的优化:1.必须从但根长度的最大值maxx开始搜索->sum-maxx;必须满足被总和整除。2.标记,不要重复使用。按大小排序,可以跳过相同的值。3.如果搜索返回后长度为0,就可以跳出循环。AC代码:#include#include#include#includeu原创 2013-09-24 16:33:19 · 734 阅读 · 0 评论 -
数形动规
1. HDU 1561 解题报告:http://blog.sina.com.cn/s/blog_7cfbb10f010186dp.html2. HDU 1011 解题报告:http://wenku.baidu.com/view/e7df4e1dc281e53a5802ff8a.html3. HDU 4313 解题报告:http://blog.csdn.net/azheng5171原创 2014-07-07 22:23:59 · 687 阅读 · 0 评论 -
ACM 算法知识点分布及题型
ACM竞赛的题型分析:竞赛的程序设计一般只有16种类型,它们分别是:Dynamic Programming (动态规划)Greedy (贪心算法)Complete Search (穷举搜索)Flood Fill (不知该如何翻译)Shortest Path (最短路径)Recursive Search Techniques (回溯搜索技术)Minimum Spann原创 2013-07-02 15:36:31 · 1381 阅读 · 1 评论 -
POJ 难度及题型题目分类
OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法.转载 2013-07-16 10:34:30 · 3528 阅读 · 0 评论 -
HDU 4255(蛇形填数+BFS+优先队列)
这个题目把代码打完以后,真心觉得蛋疼。不知道改了多久,构建的蛇形二维数组一直有问题。。。AC代码:#include#include#include#includeusing namespace std;int q[150][150],w[30000],r[150][150];int n,m;int c,d;struct node{ int a,b; int pri原创 2013-09-17 21:13:15 · 1010 阅读 · 0 评论 -
云云搭赛道
题目链接:https://www.contesthunter.org/Contest/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E6%AC%A2%E4%B9%90%E8%B5%9B/Problem/Show/%E4%BA%91%E4%BA%91%E6%90%AD%E8%B5%9B%E9%81%93题目描述】云云最近迷上了赛车,自己买来了N种赛道来原创 2013-08-06 09:05:51 · 732 阅读 · 0 评论 -
POJ 1252(DP)
用六种钱币,去支付[1,100]的钱,求用的张数最小,求其平均值和最大值。。。。这个题目就是完全背包的问题,一看估计都会想到动规方程,钱数可以加减得到。开始我的数组只开到108,错了也不知道错在哪。。。 后来在讨论区里面看见了,涉及钱数的最大值可能会比较大,比如(1,95,96,97,98,99),结果是(12.29,25)。还是 比较大的,其实开个2000就可以了把!!!所原创 2013-08-20 10:34:22 · 848 阅读 · 0 评论 -
HDU 1864
题意什么的呢!!是中文,自己看就懂得,就是小细节多了点,有点坑。注意:1、一张发票的总额不能超过1000,单个物品不能超过600,一种物品在发票上可以出现多次;2、发票里面出现其他物品的,此发票就不能报销;3、钱不是整数,还要注意一下输入的格式问题;一个简单的01背包问题,细节不多说。转移方程:转移方程:dp[i]=max(dp[i],dp[j-1]+sum[i]);原创 2014-03-29 15:31:19 · 719 阅读 · 0 评论 -
HDU 1239 Calling Extraterrestrial Intelligence Again
是个小搜索题吧!不过也要注意一下剪枝。需要找到两个数(不妨设为p,q)满足以下条件: 1、 p,q均为质数; 2、p*q 3、a/b 要找到输出所有满足以上条件的p,q中乘积最大的一对p,q。剪枝:考虑大于10000的某个质数,不妨设为Q,另一个质数为P,则:a、如果Pb、如果P>10,P*Q>100000。而考虑到a,b的取值范围(1原创 2013-09-24 21:45:02 · 718 阅读 · 0 评论 -
HDU Crixalis's Equipment
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3177Problem DescriptionCrixalis - Sand King used to be a giant scorpion(蝎子) in the deserts of Kalimdor. Though he's a guardian of Lich King now, he k原创 2013-06-20 10:56:57 · 1021 阅读 · 0 评论 -
POJ 2923(dp + 状态压缩)
题目意思是俩量车去搬家,俩量车都有最大的容量限制,问最小的搬运次数。。。。状态里面0表示还没有运走,1表示已经运走。AC代码:#include#include#include#includeusing namespace std;int c1,c2,n;int sum,num;int q[13],dp[1028],w[1028];void dfs(int sum1,i原创 2013-08-14 15:50:28 · 744 阅读 · 0 评论 -
湖南第九届~近似回文词
表示以前作比赛的时候没有做出来原创 2014-04-16 19:19:23 · 1152 阅读 · 0 评论 -
POJ 1948
给N跟棍子,要组合成三角形,原创 2014-04-22 17:32:26 · 704 阅读 · 0 评论 -
携程编程大赛 (预赛第一场)
A:反面来想...一个数列如果到不了-1..说明这个数列所有数的最大公约数不是1...所以用B^A-到不了的数目=答案.B:转载 2014-04-12 11:08:02 · 751 阅读 · 0 评论 -
HDU 1293 The Number of Paths
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1293Problem DescriptionLet f (n) be the number of paths with n steps starting from O (0, 0), with steps of the type (1, 0), or (-1, 0), o原创 2013-06-29 20:05:57 · 1234 阅读 · 0 评论 -
POJ 1463 Strategic game
其实这个和那个没有上司的晚会是一个类型的题目吧!! 几乎一样,都是个从根节点网下搜的树形动规。1、dp[i][0],表示在结点 i 没放置士兵的情况下,看住以结点 i 为根的子树的所有边所需的最少士兵;2、dp[i][1],表示在结点 i 放置士兵的情况下,看住以结点 i 为根的子树的所有边所需的最少士兵。状态转移:1、dp[i][0+=dp[j][1],j 是 i 的儿子原创 2013-09-02 17:42:41 · 661 阅读 · 0 评论 -
HDU 3474 Necklace
又是一个单调队列的题目,这个比前面的就多了点优化,不过还是搞了好久,错了不知道多少。。。太水了。。。题意是:告诉一个有字母C和字母J组成的长度不大于1e6的环行排列,现在从某个地方断开,由此向前或者向后,如果可以使得其中之一满足任何时刻数的的C不小于J.那么就成合法的切开位置,求合法的位置的数目。思路:先将环行的排列展开,在展开的地方在续上一个展开串,使之和环行排列等价。 然后以任意位原创 2014-01-14 11:20:05 · 899 阅读 · 0 评论 -
POJ 2823 Sliding Window
这是一个很明显的单调队列问题,数据有100万,如果用其他的方法就很有可能超时。。。求最大值和最小值所以要有两个单调队列一个球最大值,一个球最小值。。 其实单调队列里面只有最优值和次优值有用(感觉其他值基本可以忽略),所以直接去值就可以了。。。 最大队列保证队列中各个元素大小单调递减(即,最大元素在对头,最小的在队尾)。这样便保证队首元素最大,而且更新的时候队首永远是当前原创 2014-01-13 11:42:00 · 772 阅读 · 0 评论 -
HDU 3415 Max Sum of Max-K-sub-sequence
其实这是第一个单调队列的题目吧!!之前看了这个知识点的资料不是很懂,可见这个题目做的纠结,后面是参考了讨论区,才AC后面也不是很懂吧,看了很久。。 序列是环状的,所以可以在序列后面复制一段(或者复制前k个数字)。如果用sum[i]来表示复制过后的序列的前i个数的和,那么任意一个子序列[i..j]的和就等于[j]-s[i-1]。对于每一个j,用s[j]减去最小的一个s[i](i>=j原创 2014-01-12 21:19:29 · 724 阅读 · 0 评论 -
湖南第八届 J题-病毒
在开始的时候就进了思维定式,开始了对先满足上升的条件,在解决相等的问题,就这样调试到比赛完也是(Wrong Answer)。伤感及........后面问了同学,说要先判断相等再保证上升,也没有说清理由是什么。就试着打了一下就过了。AC代码:#include#include#include#includeusing namespace std;int dp[1008][1008原创 2013-09-08 10:43:26 · 850 阅读 · 0 评论 -
ZOJ 2972 (DP)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2972题意就不用多说了,其实刚开始的时候一看就知道是一个动规的题目,在考虑状态转移方程的时候,用跳栏的顺序来做状态转移,越写越复杂。后来比赛完了,问了同学,以体力为状态转移,就会简单很多。分三种情况求最优值就可以了。AC代码:#inc原创 2013-08-19 11:05:33 · 723 阅读 · 0 评论 -
HDU 1052 Tian Ji -- The Horse Racing
这个题目以前写了几次,都不知道错在哪!反正就是答案错误。几位前辈留下的测试数据都过了,不过还是答案错误。后面换了一个方法,对了。原创 2013-08-04 08:27:07 · 755 阅读 · 0 评论 -
HDU 1159 Common Subsequence
题目链接:acm.hdu.edu.cn/showproblem.php?pid=1159Common SubsequenceTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17402 Accepted Subm原创 2013-07-27 16:41:00 · 693 阅读 · 0 评论 -
HDU 2059 龟兔赛跑
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2059Problem Description据说在很久很久以前,可怜的兔子经历了人生中最大的打击——赛跑输给乌龟后,心中郁闷,发誓要报仇雪恨,于是躲进了杭州下沙某农业园卧薪尝胆潜心修炼,终于练成了绝技,能够毫不休息得以恒定的速度(VR m/s)一直跑。兔子一直想找机会好好得教训一下乌原创 2013-07-26 11:29:04 · 676 阅读 · 0 评论 -
HDU 1500
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1500题目和前面的搬寝室很像,不过要多留一只筷子,且这只筷子的长度要大于前面俩只得长度。采用滚动数组来作吧!!主要是为了习惯滚动数组,这样空间上会由一定的节省。题目已经给定的事非降序排序,所以排序就可以省去了,在处理时,采用预留的方法来解决第三只筷子的问题。代码:dp[i%2][3*原创 2013-07-29 10:29:34 · 838 阅读 · 0 评论 -
HDU Pearls(动规路)
杭电1300:http://acm.hdu.edu.cn/showproblem.php?pid=1300 Problem DescriptionIn Pearlania everybody is fond of pearls. One company, called The Royal Pearl, produces a lot of jewelry with pearls in i原创 2013-06-16 12:04:09 · 831 阅读 · 0 评论