2010年8月9日

摘要: 又回到我可爱的Blog了~昨天偷了点懒,一篇文章也没写~今天一定抽时间补上。 下面切入正题。 这是一道线性递推类的动态规划。说实话,这道题我直接看的题解,竟然没有看懂,纠结我一节课…先把代码贴上:[代码] 这巨短的代码理解起来还真不容易。首先,f数组存储的是到第f个坑可能出现的情况数。网上很多题解都用到分情况讨论,根据Jingo大牛的无敌思想,只要把数组向前多定m位,即-m到n... 阅读全文
posted @ 2010-08-09 09:41 saltless 阅读(1345) 评论(0) 推荐(1) 编辑

2010年8月7日

摘要: 依然是一道搜索题,但是类似动态规划的写法很简单,贴在这里。 方法很简单,从头开始扫描两个串,判断相应位置i,j对应的s1[i],s1[j]是否相等。因为公共部分必须是连续的,所以只用把当前的最优解赋值为f[i-1,j-1]+1,即i,j都往前推一位的最优解加上1即可。 根据样例来说,f[1,1]=1,f[2,2]=f[1,1]+1=2,而f[3,3]因为s1[3]<>s2[3],所... 阅读全文
posted @ 2010-08-07 07:28 saltless 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 医院设置是一道经典的Floyed题目,经典到第一次听Floyed时老师就是讲的这道题。但是rq上把它划到搜索中,可能有搜索的解法吧,现在就不打了,以后有时间一定补上。 下面切入正题。 题目很简单,数据量也很小。100的数据n3的Floyed显然可以承受。把权值都赋为1,做一遍多源最短路,再将n个节点当做医院的情况逐个枚举,找到最小值即可。 参考代码:[代码](saltless原创,转载请注明... 阅读全文
posted @ 2010-08-07 07:06 saltless 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 现在是晚上9点45,距离下课还有五分钟的时间,觉得自己看不了什么东西了,也做不下什么题了,就下这样一篇文章吧。 说是写在前面,其实在这篇文章的前面已经有几篇博文了。至于为什么要开通这个Blog,原因很简单,只是想和网上的大牛们多多交流,吸取他们的经验和知识,来充实自己,同时把自己的成果share到网上,供大家指出不足和错误。我有许多同学的blog已经建了很久,效果很不错。其实早在去年末我就有了这... 阅读全文
posted @ 2010-08-07 06:22 saltless 阅读(156) 评论(0) 推荐(0) 编辑

2010年8月6日

摘要: 今天太纠结了,上午的模拟赛又杯具了,依然110,后悔自己没有下狠心把那个integer改成longint…整个一个下午就调了一道弱小的DFS,别的同学一节课就过了…程序一直202,过了一会就201,直到自己把自己的代码改的和RQ上的题解几乎完全一样的时候也没有解决…最后还是请同学帮忙,被他BS自己没有弄懂自己打的代码什么意思…最近的效率太低了... 阅读全文
posted @ 2010-08-06 18:17 saltless 阅读(389) 评论(1) 推荐(0) 编辑
摘要: 任何一道题,都有许多解法,但是各种方法的时间、空间复杂度各不相同。在原有代码的基础上进行优化,是我们OIer必不可少的素质。现在我就一道弱小的递归题展现整个优化的过程。 显然,每次取1到n div 2中的一个数,然后进行递归find(x),tot每次加1,直到x=1时无法再分为止。 代码:[代码] 这种方法看上去很简练,但是这弱小的朴素代码当你输入1000时在10s内已经无法出解(当时硬着头... 阅读全文
posted @ 2010-08-06 11:20 saltless 阅读(395) 评论(0) 推荐(1) 编辑

2010年8月5日

摘要: 大家在运用BFS解题时,通常是与一个图结合,这样我们的搜索就有了一个边界(通常是x∈(0,n],y∈(0,m])。但是,如果这个边界没有呢?难道要放弃我们可爱的BFS?? 还是先来看一个例题。 当时这道题真的囧到我了*.*||| 第一次做的时候傻傻的打了边界 x∈(0,c],y∈(0,d],开始只过了3个点…仔细想想,核子数为什么不能超过目标... 阅读全文
posted @ 2010-08-05 21:41 saltless 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 名 称 标识符 数值范围 存储空间(byte)短整型 shortint -27..+27-1 1整型 integer -215..+215-1 2 长整型 longint -231..+231-1 464位整数 int64 -263..+263-1 8字节型 byte 0..28-1 1双字节型 word 0..216-1 2单精度型 single 1.5e-45..3.4e38 4 基本实型 r... 阅读全文
posted @ 2010-08-05 17:16 saltless 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 算法的时间复杂度是大致确定的,但是数据范围却千变万化。所以根据数据范围选择最优算法是一种简单而准确的方法。以下介绍几种根据数据范围大致对应的时间复杂度。N<=20 O(2n)20<N<=100 O(n3) 100<N<=1000 O(n2)10000<N<=105 O(nlogn)105<N<=108 O(n)N>108 O(logn) 阅读全文
posted @ 2010-08-05 17:12 saltless 阅读(1307) 评论(0) 推荐(0) 编辑
摘要: 有人看到“二分答案”这个题目,可能会很不解。题目过程可以二分,答案怎么也能二分呢? 事实上,当你看到找极大值中的最小值或者求极小值中的最大值的题目时,二分答案或许是一个不错的选择。根据数据范围判断是否选用二分(二分能把时间复杂度降到log n),再和上文所说的条件结合,一般就不会错了。先看一个例题。看到这个题,出口很明显,可能首先想到DFS。但是10000的数据DFS显然是... 阅读全文
posted @ 2010-08-05 16:28 saltless 阅读(4128) 评论(5) 推荐(0) 编辑

导航