摘要: 问题描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。 如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。 本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。 输入格式 一行三个整数:a b n,用空格分开。a是被除数,b是除数,n是所求的小数后位 阅读全文
posted @ 2019-02-04 20:23 阳离子 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 我们在解决动态规划问题的时候,往往不会很轻松的写出递推方程。这时候我们需要考虑一下是否需要借鉴"多阶段决策问题"。 https://www.cnblogs.com/woxiaosade/p/10346052.html 上面的这道“硬币问题”的题目,如果将每一枚硬币的数目改成1,那原先的递推方程就很难 阅读全文
posted @ 2019-02-03 16:42 阳离子 阅读(1018) 评论(0) 推荐(0) 编辑
摘要: d (i, j) = a(i, j) + max(d(i + 1, j ), d(i + 1, j + 1) ) 阅读全文
posted @ 2019-02-01 15:40 阳离子 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 有n种硬币,币值分别是V1 ..... Vn,每种都有无限多。给定给负整数S,可以选用多少个硬币,使得面值之和恰为S。输出硬币数目的最小值和最大值。 1 <= n <= 100, 0 <= s <= 10000 题目分析: 本题可以看作是DAG上的路径问题,起点为S,重点为0,设d[ i 阅读全文
posted @ 2019-02-01 15:38 阳离子 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 有n个矩形,每个矩形可以用两个整数来描述,表示它的长与宽。矩形X(a, b) 可以嵌套在矩形 Y(c, d) 中,当且仅当 a < c, b< d 或者 b < c, a < d (矩阵可以旋转90度)。你的任务是选出尽可能多的矩阵排成一行,使得每一个矩形(除最后一个矩阵)都可以嵌套在后 阅读全文
posted @ 2019-01-29 22:29 阳离子 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 题目描述 对于任意两个正整数a,b(0<=a,b<10000)计算a^b各位数字的和的各位数字的和的各位数字的和的各位数字的和。 Input 输入有多组数据,每组只有一行,包含两个正整数a,b。最后一组a=0,b=0表示输入结束,不需要处理。 Output 对于每组输入数据,输出ab各位数字的和的各 阅读全文
posted @ 2019-01-29 14:49 阳离子 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 问题描述 给定一个n*m的矩阵A,求A中的一个非空子矩阵,使这个子矩阵中的元素和最大。 其中,A的子矩阵指在A中行和列均连续的一块。 输入格式 输入的第一行包含两个整数n, m,分别表示矩阵A的行数和列数。 接下来n行,每行m个整数,表示矩阵A。 输出格式 输出一行,包含一个整数,表示A中最大的子矩 阅读全文
posted @ 2019-01-28 23:07 阳离子 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 1.最大字段和问题 求一个序列最大连续子序列之和。 例如序列[-1,-2,-3,4,5,-6]的最大子段和为4 + 5 = 9。 ①枚举法 ②动态规划 解题思路: 第一步:设b[ j ] 为 1到 j 的最大连续子序列之和。 第二步:因为b[ j ] 为以a[ j ]结尾的最大连续子序列之和,因此有 阅读全文
posted @ 2019-01-28 23:00 阳离子 阅读(2510) 评论(0) 推荐(0) 编辑
摘要: 问题描述 小明正在玩一个“翻硬币”的游戏。 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。 比如,可能情形是:**oo***oooo 如果同时翻转左边的两个硬币,则变为:oooo***oooo 现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只 阅读全文
posted @ 2019-01-26 14:53 阳离子 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 问题描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714。 还可以表示为:100 = 82 + 3546 / 197。 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。 100 可以表示为带分数的形式:100 阅读全文
posted @ 2019-01-25 17:57 阳离子 阅读(214) 评论(0) 推荐(0) 编辑