Archive for August, 2008
FZU OJ1401,终于搞定了
by Charlie on Aug.13, 2008, under ACM Life
耗时n小时,终于拿下了1401这个”死亡迷宫“。
令人欣慰的是,完成效率还不错,我耗时0.02s,呆哥耗时0.00s。
写了个解题报告,有兴趣可以看看。。。
FZU OJ1401
by Charlie on Aug.11, 2008, under ACM Life
原题
给定一张图,图上有墙,有野怪,有血瓶等等,让你找到一条从起点东终点的路(100步以内),使得所剩能量与所走步数的比最大。
看了这题,第一感觉就是搜索。但是20*20的图,搜索起来,难免有些吃力。于是,考虑了一下动态规划,但是,似乎没有最优子结构,思考许久,还是回到了搜索。
搜索的话,因为有100步的限制,所以能截掉不少;另外,对每个点做些标记,应该截肢效果也不错。但是,毕竟4^100的数量级,还是很难应付。。。。
对于这题,暂时的做法还是如此,没有太好的想法。
TOJ3006
by Charlie on Aug.08, 2008, under ACM Life
昨天偶然看见TOJ上挂有一个比赛,也就跟着做了会儿。
前面两题挺简单,一刷就过了,没太多说的价值。但是到了第三题,也就是3006(见原题)时,我就犯难了。
3006说的是给你一个字符串,让你根据他的要求来编码。具体要求是:每个字符编码为一个5为长的二进制数,’ ‘ = 0,’A’ = 1 … ‘Z’ = 26。按螺旋形状分别将这些字符的编码给这个M * N的数组赋值。例如ACM:
最后依次将这个M * N的数组输出。
这题其实并不难,只要给二维数组的第一、第二维分别一个增量,再分别判断便能让x、y轴走出螺旋形来。但不知为何,我的代码一直WA,头痛呀。。。
xiaonei App
by Charlie on Aug.06, 2008, under Others (其他)
最近心血来潮,想写个xiaonei app玩玩,大致想法如下:
每个玩家可以花一定数量的钱来构建 一个城市,一个城市里的每个建筑,也需花一定金额的RMB
然后,赚钱得方式,我想了一下,每有一个人来参观,给他加1RMB,若投票,则赏1RMB
一个玩家,可以 去给别得城主 打工 。这里 就体现出 每种 建筑得价值 :
每种建筑 能够容纳一定数额得工人,然后,这里有一个 算法,是工人数与 收入数之间得函数关系
工人与城主 之间得工资 自定 。
现在暂时想法如上,各位要是有兴趣,可以共同探讨,一起开发。。。
厦大OJ 1051
by Charlie on Aug.05, 2008, under ACM Life
原文见
原题http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1051
题目大意:输入一个数N,求出N的组合,用它的公因数的次方表示出来。例如输入为5,起组合为5*4*3*2*1,输出应为2^3*3*5。这题主要难点在于N的取值最大可为1000000。而时间只有1s。
对于这题,我的想法是对于每一个数都分解成它的因数的乘积形式,并将每个因数的个数记录起来。由上可知,N的取值能到1000000,而对于每个数的因数的求解也将耗费大量时间,明显,1s必然不够我们花销。
于是,我便做了些优化。如对a运算时,假如a%2==0,则,我们便将a / 2标记,这样就可以不用处理a / 2。分析可知,它的截掉一半的枝,效果相当可观了。
另外还有些优化,在对每个数的因数求解方面,都是些常用的优化,不多作解释。
现在的问题是超时,测过,跑完1000000需要3.43s。暂时未有更好优化,希望大家能说说大家的想法。。。
POJ 1837 Balance解题报告(动态规划)
by NENU_ACM_Club on Aug.05, 2008, under ACM Reports
题目大意:
输入一个天平若干(<=20)挂钩的位置,将若干(<=20)砝码挂到天平上,问有多少种使天平挂平衡的方法。
POJ 2917【数学题】
by NENU_ACM_Club on Aug.02, 2008, under ACM Reports
题目大意:
等式 1/x + 1/y = 1/n x,y,n都为正整数且x<y;
给定n值,输出有多少对这样的x,y;
题意理解
此题主要是时间上要求很严格。不能直接用遍历(1/y = (x - n)/(x*n) 遍历判断x*n能否被(x - n)整除),这样时间不够用。
POJ1836【动态规划】
by NENU_ACM_Club on Aug.02, 2008, under ACM Reports
题目大意:
给出系列数字,要求求出一个最长串,使得任意一个数字都不在两个大于等于它的数字中间
题意理解
这题主要是要求一个不降序列和一个不升序列的序列,由此,可以看到跟2533(最长不降序列)很相像。实际上,也只要考虑几个小问题就行了。
POJ3681[Finding the Rectangle]【枚举+限界】
by NENU_ACM_Club on Aug.02, 2008, under ACM Reports
【题意描述】
给出N、M和N个点的坐标,要求找出面积最小的一个矩形,使其中至少包含M个点(恰处在边上的点不算包含在内)。
【数据范围】
1 ≤ M ≤ N ≤ 200
1 ≤ Xi, Yi ≤ 10000 ,(Xi,Yi)为第i个点坐标