sbw Blog - 算法设计
  • 来源: 石博文博客 | 浏览: 158 | 评论: 0 | 时间: 2019-03-24
    POJ 1007 这个题是一个难度一般的算法题,核心是要计算每一个字符串的权值然后累加并排序。在本题中,这个权值是指为字符串中的每一个字母计算它后面有多个个字母比它小,即发生了多个次“反转”。从这个描述的一般认识来看,这是个 N^2 复杂度的模拟问题,核心在于算法优化及找模型。但由于题目的测试数据比较简单,使用 N^2 复杂度的简单方法也可以很容易通过。这就导致了这个题目的实际比赛难度其实很低。这里从解题思路及推导过程给大家做一个线性复杂度,O(N) 解题方法的分享。
  • 来源: 石博文博客 | 浏览: 202 | 评论: 0 | 时间: 2019-03-21
    POJ 1005,船屋。这是一道比较简单的几何相关的计算题,只需要推导出公式即可轻松解决。不过这个题的英文描述理解起来挺抽象,大概意思是:从坐标(0, 0)开始,有一个圆形的区域,第1年的时候,这个圆形的面积为0。这个圆形每年扩大,每年扩大的面积是50,问给定一个坐标(x, y),这个圆形多久能覆盖到这个坐标。
  • 来源: 石博文博客 | 浏览: 179 | 评论: 0 | 时间: 2019-03-19
    POJ 1003 Hangover,这道题的意思是说有一叠卡片放在桌子的边缘,要求卡片尽可能的有更多的部分伸出到空中,但卡片整体又不能掉下去。那么在只有 1 张卡片的时候,是一半在桌子上,一半在空中,伸出去的长度是 1/2。当有两张卡片时,最多能伸出 1/2 + 1/3 = 5/6。当 n 张卡片堆叠起来时,最多伸出的长度即为 1/2 + 1/3 + ... + 1/(n+1)。先不说这个公式是不是符合物理规律,从算法上来讲是一道很简单的模拟题,按照题目所给出的计算公式递推计算结果即可。
  • 来源: 石博文博客 | 浏览: 2092 | 评论: 2 | 时间: 2017-01-24
    在 Leetcode 上看到一个题(原题地址),最长无重复子串。当时看的第一眼觉得或许可以用动态规划,今天空闲时间实现了一下。
  • 来源: 石博文博客 | 浏览: 2200 | 评论: 0 | 时间: 2016-05-22
    素数(也叫质数)是个神奇的东西,它的定义是“如果一个数只有 1 和它本身两个约数,那么它就是一个素数”。而在各种程序算法中,也经常会出现素数的身影。那么我们来讨论一下常用的那些素数生成的小算法。
  • 来源: 石博文博客 | 浏览: 2887 | 评论: 5 | 时间: 2016-03-01
    这九个数字组成一个分数,其值恰好为1/3,如何组法?这是一个第一眼看上去非常简单的问题,但编程起来还是需要一点点技巧的。
  • 来源: 石博文博客 | 浏览: 2564 | 评论: 0 | 时间: 2014-03-22
    一根面条,从中间切一刀,可以得到2根,若先对折一下再切,可以得到3根,若对折2次再切,可以得到5根面条,现在问若对折10次后再切,可以得到几根面条?
  • 来源: 石博文博客 | 浏览: 5218 | 评论: 2 | 时间: 2014-01-17
    Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路。道路被用来连接N个牧场,牧场被连续地编号为1到N。每一个牧场都是一个奶牛的家。FJ计划除去P条道路中尽可能多的道路,但是还要保持牧场之间 的连通性。你首先要决定那些道路是需要保留的N-1条道路。
  • 来源: 石博文博客 | 浏览: 6516 | 评论: 2 | 时间: 2013-11-19
    有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。
  • 来源: 石博文博客 | 浏览: 4220 | 评论: 1 | 时间: 2013-11-03
    本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。如果无法分割,则输出 0。
  • 来源: 石博文博客 | 浏览: 4197 | 评论: 0 | 时间: 2013-10-29
    203879 * 203879 = 41566646641,这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。具有这样特点的6位数还有一个,请你找出它!---蓝桥杯2013年C++A组第2题-排它平方数.
  • 来源: 石博文博客 | 浏览: 10765 | 评论: 2 | 时间: 2013-10-23
    写了一个简单的日期类,主要实现了日期与从元年开始到某一天的天数之间的转换,虽然不难,但是在闰年的判断这里如果不细心经常出错,利用这个类很方便的做出了一道算法题目--蓝桥杯的<高斯日记>.
  • 来源: 石博文博客 | 浏览: 7551 | 评论: 0 | 时间: 2013-09-13
    泊松是法国数学家、物理学家和力学家。他一生致力科学事业,成果颇多。有许多著名的公式定理以他的名字命名,比如概率论中著名的泊松分布。 有一次闲暇时,他提出过一个有趣的问题,后称为:“泊松分酒”。在我国古代也提出过类似问题,遗憾的是没有进行彻底探索,其中流传较多是:“韩信走马分油”问题。