摘要: 过河卒 Proble Description 如图,A 点有一个过河卒,需要走到目标 B 点。卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点。例如上图 C 点上的马可以控制 9 个点(图中的P1,P2 … P8 阅读全文
posted @ 2017-05-18 22:56 LFYZOI题解 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 位数问题 问题描述 在所有的N位数中,有多少个数中有偶数个数字3?由于结果可能很大,你只需要输出这个答案对12345取余的值。 INPUT 输入一个数N(11000 个,这是个天文数字,故不可能使用枚举法一一统计。本题需使用递推的思想: 设E(n)为n位数中有偶数个3的数字个数,O(n)为n位数中有 阅读全文
posted @ 2017-05-18 22:15 LFYZOI题解 阅读(2384) 评论(0) 推荐(0) 编辑
摘要: 分析 该题和“输油管道问题”类似,只不过由一维问题编程了二维问题。可以将总步数分解为移动到水平线y位置的总步数 和移动到序列 位置的总步数 。 ysteps的最小值容易计算,将所有士兵的纵坐标 排序后找出中位数,然后计算 即可。 xsteps的作如下分析: 共n个士兵,他们相应的X轴坐标为: 设,士 阅读全文
posted @ 2017-05-10 18:32 LFYZOI题解 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 分析 根据之前的证明,我们已经知道最佳输油管线的y位置就是所有油井y坐标序列的中位数,故解题过程为: 1. 读入n个y数据 2. 对n个y数据进行排序(升序或降序) 3. 求中位数zws 4. 计算输油管线的累加和 因此该题的主体是排序。已知n的范围为 ,简单排序算法 ,这个数字接近CPU每秒的运算 阅读全文
posted @ 2017-05-10 16:53 LFYZOI题解 阅读(1012) 评论(0) 推荐(0) 编辑
摘要: 分析 本体思路很简单:读入数据,排序、统计、输出。难点在于数据量较大,选择何种排序方法就极为重要,否则很容易发生内存或时间超限。可以考虑以下几种思路: 1. 桶排序 桶排序是可以想到的最简单方法,可在 O(n) 的时间内一次性完成排序和统计: ,考虑到本题中被统计的数字的范围 ,就需要至少 大小的桶 阅读全文
posted @ 2017-05-10 11:15 LFYZOI题解 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 思路 虽然每种大小盘子数量为2,但对总步数的影响只是一个简单的倍数关系而已,递推关系很容易可以总结出来: an=an 1+2+an 1=2(an 1+1) ,n=1时,a1=2。故递推的过程就是从 a1=2 开始每次 先加1,再乘2 。 因递推步骤较长(1~200),一定需要高精度运算,按照每次乘2 阅读全文
posted @ 2017-04-28 15:12 LFYZOI题解 阅读(1235) 评论(0) 推荐(0) 编辑
摘要: 思路 理解题目后,会发现是一个 高精度除低精度求余 问题,非常简单。 容易出错的地方是:求余结果为0的时候,此时,天使所在的盘子号码其实就是n,如果直接返回余数,得到的结果则是0。 被除数的范围是2~101000,需要的存储位数为1001,加上一个长度位,需要一个最小1002的数组,否则会发生计算溢 阅读全文
posted @ 2017-04-28 09:50 LFYZOI题解 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 思路 循环n次,每次计算i的阶乘i!,并加入sum中。 n的范围从1~100,这里一定要使用高精度运算,涉及到“高精度乘低精度”,“高精度加高精度”。 避免每次重复计算 ,`(i+1)! i! (i+1) i! i! sum`中),即可得到结果。 使用两个数组空间存储高精度数字, 用于计算i的阶乘、 阅读全文
posted @ 2017-04-27 22:25 LFYZOI题解 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 思路 小数点前的部分可以通过m/n直接计算得出 小数点后的20位可通过循环进行快速计算,计算方法如下: 1. 2. 3. 小数点后第i位为 ,回到第1步 第3步后,如果 为0,说明已经除净,此时可以 ,结束循环 按照这种方式计算20次后,最后几次的商可能为0但余数不一定为0,会出现如下情况: 这里最 阅读全文
posted @ 2017-04-27 18:20 LFYZOI题解 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 本节概要 高精度运算涉及 高精度加法 , 高精度减法 , 高精度乘法 , 高精度除低精度 , 高精度除高精度 5类。以下的讲解中,不考虑负数的情况;除法运算中,我们规定除数小于被除数;规定高精度数字的位数不超过200。 本节内容 1. 高精度数字的输入和存储方法 2. 高精度加法 3. 高精度减法 阅读全文
posted @ 2017-04-21 19:05 LFYZOI题解 阅读(3068) 评论(1) 推荐(11) 编辑