【算法1-1】模拟与高精度

题单介绍

恭喜大家完成了第一部分语言入门,相信大家已经可以使用 C++ 写出一些简单程序了。 各位读者有听说过“建模”一词吗?所谓“建模”,就是把事物进行抽象,根据实际问题来建立对应的数学模型。“抽象”并不意味着晦涩难懂;相反,它提供了大量的便利。计算机很难直接去解决实际问题,但是如果把实际问题建模成数学问题,就会大大地方便计算机来“理解”和“解决”。 举个生活中常见的例子:我们拿到了某次数学考试的成绩单,现在需要知道谁考得最好。当然不能把成绩单对着电脑晃一晃,然后问“谁考得最好?”。需要通过一种途径让计算机来理解这个问题。这个问题可以建模成:“给定数组 ``score[]``,问数组内元素的最大值”。这样建模后,就能很方便的写程序解决问题了。对于这个问题,采用之前讨论过的“擂台法”,就可以给出答案。 如何把实际问题建模成数学问题,主要依靠我们的经验和直觉、当然还有你灵动的思维;而算法与数据结构,正是解决数学问题的两把利剑。从这一章开始会介绍一些程序设计竞赛中的一些常见套路算法,而下一部分会介绍基础的数据结构。如果已经认真学习完了第一部分,相信这一部分也不在话下。 这一章是语言部分的延伸,会介绍一些竞赛中会出现的“模拟题目”——这里的“模拟”不是指模拟某场比赛的模拟题,而是指让程序完整的按照题目叙述的方式执行运行得到最终答案。同时也会介绍可以计算很大整数的高精度运算方法。这一章对思维与算法设计的要求不高,但是会考验编程的基本功是否扎实。 ![](https://cdn.luogu.com.cn/upload/image_hosting/o55v4qua.png) **以上题单的选题来自洛谷编写教材《深入浅出程序设计竞赛 - 基础篇》**,并带有详细的教程和讲解,点击下方的图片了解该图书详情。[【官方网店绝赞热卖中!】>>>](https://item.taobao.com/item.htm?id=637730514783) [![](https://cdn.luogu.com.cn/upload/image_hosting/njc7dlng.png)](https://item.taobao.com/item.htm?id=637730514783)

题目列表

  • [NOIP2003 普及组] 乒乓球
  • [NOIP2015 普及组] 扫雷游戏
  • [NOIP2016 提高组] 玩具谜题
  • A+B Problem(高精)
  • A*B Problem
  • [NOIP1998 普及组] 阶乘之和
  • [1007] 魔法少女小Scarlet
  • [NOIP2014 提高组] 生活大爆炸版石头剪刀布
  • [USACO2.4] 两只塔姆沃斯牛 The Tamworth Two
  • [NOIP2009 普及组] 多项式输出
  • [NOIP2007 提高组] 字符串的展开
  • [NOIP2006 提高组] 作业调度方案
  • 帮贡排序
  • 阶乘数码
  • 最大乘积
  • [NOIP2003 普及组] 麦森数