《世界大学生程序设计竞赛(ACM/ICPC)高级教程(第1册):程序设计中常用的计算思维方式》主要介绍了大赛程序设计中的常用思维方式,主要包括正确认识和处理整体与部分的关系、构造性思维、目标转化的思想、分类与分治思想、逆向思维、猜想与试验六个章节,旨在引导参赛学生学习并掌握编程解题的一般思维方法和过程,提高解题能力。ACM/ICPC是大学生的智力与计算机解题能力的竞赛,是世界公认的最具影响力的、规模最大的国际顶级赛事,被称为大学生的信息学奥林匹克。
计算机解题的核心是算法设计,而算法设计需要具备良好的数学素养。数学具有运用抽象思维去把握实际的能力,应用数学知识去解决实际问题时的建模过程是一个突出主要因素的科学抽象过程。进行抽象和形式化需要学习和掌握常用的计算思维方式。
第1章 正确认识和处理整体与部分的关系
1.1 整体实现的关键是准确地应用必要条件
1.1.1 选择有助于简化问题、变难为易的必要条件
1.1.2 合成必要条件,从整体结构上优化
1.1.3 必要条件与原有模型比较,更新算法
小结
1.2 整体思考的一个重要角度是“守恒”
1.2.1 从具体问题中抽象出守恒量
1.2.2 根据问题的本质构造守恒量
1.2.3 在交互问题中构造变化中的不变量
小结
1.3 提高整体实现效率的基本途径是“充分利用有效信息”和“压缩冗余信息”
1.3.1 计算过程中充分利用有效信息
1.3.2 通过“压缩法”消除冗余的图形和数据信息
小结
1.4 改善整体性能状态的基础是处理好细节问题
1.4.1 必须解决导致错误结果的细节问题
1.4.2 争取降低算法时间复杂度的阶
1.4.3 注意降低算法时间复杂度的系数
小结
第2章 构造性思维
2.1 模型的基本概念
2.1.1 模型的一般特点与功能
2.1.2 模型的一般分类
2.1.3 模型与信息原型间的关系
小结
2.2 建模的一般方法
2.2.1 建模的机理分析方法
2.2.2 建模的统计分析法
小结
2.3 建模的一般思维方式
2.3.1 直接构造法
2.3.2 分类构造法
2.3.3 归纳构造法
小结
2.4 在建模过程中注意应用序关系
2.4.1 在交互式问题中应用序
2.4.2 利用典型的“序”关系简化问题
2.4.3 寻找蕴涵在题意中的序关系
小结
2.5 模型选择
小结
第3章 目标转化的思想
3.1 “降维”——缩小目标
3.1.1 引入“降维思想”
3.1.2 高维降为低维
3.1.3 一般降为特殊
3.1.4 抽象降为具体
3.1.5 整体降为局部
3.1.6 简化数据关系
小结
3.2 “升维”——放大目标
3.2.1 让步假设
3.2.2 倍增思想
小结
第4章 分类与分治思想
4.1 应用于一般有序序列的二分法
4.1.1 在给定的序列中“二分查找”
4.1.2 在交互式问题中应用“二分插入”
小结
4.2 应用于退化了的有序序列的“二分枚举”
4.2.1 用二分枚举求可行方案
4.2.2 用二分枚举求最优性问题
小结
4.3 应用于无序序列的“二分搜索”
4.3.1 在“二分搜索”的基础上构造可行解
4.3.2 在“二分搜索”的基础上构造最优解
小结
4.4 应用于多维情况的“多重二分”
小结
第5章 逆向思维
第6章 猜想与试验
网络技术-全国计算机等级考试三级教程-(2015年版) 本书特色 本书根据教育部考试中心制订的《全国计算机等级考试三级网络技术考试大纲(2013年版)》编写而成...
《优雅人生:格雷斯·霍珀和信息时代的创新》不仅仅是一本人物传记类图书,也是一本计算机编程史的记录本。本书不仅将计算机领域的
朱宏微软(中国)用户体验布道师新浪微博@MLikeasong负责大中华地区微软设计风格的普及、设计团体交流合作、基于Windows8和Windo
《坚定信心,共创吉林通信的美好未来》内容简介:本书分为上、下两篇:上篇为《管理篇》,均为结合当时重点管理工作研究方向所著,
51单片机应用从零开始 内容简介 8051单片机不仅是国内用得*多的单片机之一,同时也是*适合初学者入门学习的一款单片机。一旦用户对它的应用卜手之后,即能开发电...
《用微课学计算机应用基础(Windows 7+Office 2010)》内容简介:本书是职业院校计算机专业及其他专业的计算机基础教材,通过翔实的
《机器学习入门:Python语言实现》内容简介:本书旨在为读者提供与机器学习有关Python 3的基本编程概念。前4章快速介绍了Python 3、
《伤寒论》内容简介:东汉张仲景的《伤寒论》是现存早的中医临床经典著作,它所确立的六经辨证论治体系,开拓了中医临证医学的新纪
DreamCase不是台灣一般認知的「Mook」,而是「MagBook」,以雜誌的概念、形式、內容來從事書的編輯,因此呈現方式可以更自由、更
C语言程序设计 本书特色 本书是关于介绍“C语言程序设计”的教学用书,全书分为12章,内容包括c语言概述,数据类型,运算符与表达式,数据的输入和输出,选择型程序...
ActionScript3.0是一种功能强大的面向对象编程语言。本书分五大部分全面讲解ActionScript3.0动画。第一部分介绍了ActionScript...
《创业不可不防的法律风险》内容简介:我国民营企业的平均寿命只有2.9年,而日本、美国的数据是我们的十多倍。主要原因在于许多创业
本书由腾讯公司视觉设计师编写,针对UI设计方向,从基础的知识出发,首先介绍了成为一名UI设计师需要做哪些方面准备工作。接下来
《疯狂的站长》内容简介:受全球性金融危机的影响,就业变得越来越困难,众多青年,包括大学毕业生,无不感到就业的巨大压力,站长
《唐代文学研究年鉴(2019)》内容简介:《唐代文学研究年鉴(2019)》将2018年9月至2019年5月唐代文学研究界的基本研究情况及动态
CharlesPetzold是全球最权威且知名的Windows程序设计专家,他将其最畅销ProgrammingMicrosoftWindowswithC#一书加...
中文版3dsMAX8实训教程-影视片头动画(赠光盘一张) 本书特色 本书是快速学习和掌握3ds MAX 8动画制作的指导书,*大的特点在于将知识点与实例相结合,...
《中国客家对联大典(第三卷)(精)》内容简介:本书收录的对联是全世界历代客家人或含有客家元素的对联作品。这里包括全世界客家
作为网络程序员,你是否发现自己的应用程序远远不够健壮?那么,你需要了解编写高效TCP/IP程序所需的各种知识。本书正是这么一本
计算机软件技术基础(第3版) 内容简介 本书是计算机基础教材,全书较系统、通俗地介绍了计算机软件技术的基础知识和常用的系统软件。内容包括数据结构、操作系统、数据...