摘要: 第三遍做这道题,对DP有了更深的理解。动态规划是一种解决问题的方法、途径,最优化原理(principle of optimality),把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解。 说明:动态规划要求其子问题既要独立又要重叠,这初看上去貌似存在矛盾,其实不然。只是这里说的是两 阅读全文
posted @ 2016-08-17 21:11 Depth 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 1459 迷宫游戏 基准时间限制:1 秒 空间限制:131072 KB 你来到一个迷宫前。该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数。还有若干双向道路连结这些房间,你沿着这些道路从一个房间走到另外一个房间需要一 些时间。游戏规定了你的起点和终点房间,你首要 阅读全文
posted @ 2016-08-17 10:04 Depth 阅读(1111) 评论(0) 推荐(0) 编辑
摘要: 题意:输入一个树状天平,根据力矩相等原则(力臂乘质量)判断是否平衡。按照递归(先序)方式输入,若输入的W(质量)为0说明该“砝码”是个子天平,接下来会描述该子天平。 思路:采用递归输入我们自然想到递归处理,在输入过程判断,采用引用传值,将子天平的砝码传给该子天平。 代码: 阅读全文
posted @ 2016-08-08 16:06 Depth 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 题意:给一棵带权树(每个节点权值为正且不相等)的中序和后序遍历,找一个叶子使得它到根的路径的权值尽可能小,如果有多解取叶子权值小的。输入中每两行代表一棵树,第一行为中序遍历第二行后序遍历。 分析:首先要搞清楚二叉树的先序(父左右)、中序(左父右)、后序(左右父)遍历的特点。后序遍历的最后一个字符就是 阅读全文
posted @ 2016-08-05 17:15 Depth 阅读(923) 评论(0) 推荐(0) 编辑
摘要: 《算法竞赛入门经典》第四章函数和递归中的题目,考察了自定义函数应用和二进制相关内容。(个人认为考察二进制相关知识占多)。 题意:给一个编码头和一串编码(编码可以换行),编码头根据以下规则对应编码{ 考虑下面的01串: 0,00,01,10,000,001,010,101,110,0000,0001. 阅读全文
posted @ 2016-08-01 14:01 Depth 阅读(1705) 评论(4) 推荐(1) 编辑
摘要: 数据不大,暴力过。纳闷的是长度是1~100,数组开150都不行,必须要200才不会WA。 思路:注意双向匹配。for(int i=0;i<2;i++,swap(str1,str2))。记录两个字符串匹配到的数目,两个长度相加减去匹配到的数目即可。 匹配过程:b串不动,a串从b串第一个字符开始匹配,可 阅读全文
posted @ 2016-07-14 21:05 Depth 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 题意很简单,给六个面判断是否能组成一个长方体。 教训:这类考察思维而不是代码能力的(ACM基本都是这样)题目,要基于题目特性去思考,善于发现物体的特征,再根据特征来写解题方法。 思路:根据长方体特性,将其每个面的数据调整为长在前,宽在后,便于比较,而后根据长和宽来排序,如果两个面长相等就看宽。排序后 阅读全文
posted @ 2016-07-14 09:36 Depth 阅读(943) 评论(0) 推荐(1) 编辑
摘要: 人机交互,顾名思义,就是人与计算机间的交流互动,我们对计算机的每一次操作程序中的每一条语句都是与计算机的交流,这类题目是将人和计算机调换位置,例如猜数游戏,常规的做法是让人输入数,计算机判断大还是小,而这类人机交互题目中需要你的程序充当人来输入数据,再自己来判断大小。 例题1:猜数游戏http:// 阅读全文
posted @ 2016-07-12 16:47 Depth 阅读(619) 评论(0) 推荐(0) 编辑
摘要: 输入a,b两个整数求其商的循环节。 分析:高精度,以数组代替小数位。根据抽屉原则,a/b的余数只能是0~b-1所以计算b+1次必定有余数重复,再进行10*n/m重复的余数之后的余数必定与之前的对应相等。开数组将余数和商保存输出即可。另开数组记录余数是否出现过。 代码 阅读全文
posted @ 2016-07-10 18:46 Depth 阅读(1456) 评论(0) 推荐(1) 编辑