《世界大学生程序设计竞赛(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章 猜想与试验
十载演进,C#日渐强大,新增了泛型、函数式编程概念,以及对静态类型和动态类型的支持,而大量新兴编程习惯背后,却是种种具有迷
鲍勃张,1993年毕业于延世大学经济专业。在经历了一段平凡无奇的公司生活后,于2005年的一天开始接触绘画。在那之后,他自己发布
《喷头下的世界:漫谈3D打印(双色)》从多种科学技术之间彼此影响、相互促进、分流交汇、掺杂渗透的角度,向读者介绍近年来异常
E.F.BensonsstrikinglyoriginalcomiccreationMissMappisanarch-schemerandsocialclimb...
计算机视觉算法与智能车应用 本书特色 本书介绍计算机视觉在智能车中的应用,分三个部分共13章。**部分(第1、2章),供初学者学习,介绍计算机视觉的定义、研究内...
全书共分8章,分别介绍了基于规则的知识系统,人工神经网络,适应性智能系统,农业专家系统,知识管理与知识服务,智能机器人,人
《5GtoB如何使能千行百业》内容简介:5G与云、智能、计算、行业应用等技术相结合,将不断地打破传统行业边界,创造丰富多彩的行业应
BIO(生态,有机)一词已经越来越多的出现在大众视野。蔬菜水果要吃BIO的,蜂蜜果酱要买BIO的,甚至护肤品都有BIO的。《生态花园
多位巴黎手作创意人专为这本书提供了原创手工作品的制作方法及步骤,将私房小店与读者亲密分享。这本书里的创意人,多有颇具规模
《药品监管制度的法律改革》内容简介:本书融合行政法学、政府监管、公共治理理论和药品监管实践,以法律与社会的互动、法律的实际
《Oracle9i&10g编程艺术:深入数据库体系结构》是讲述Oracle数据库公证的权威指南,凝聚了世界顶尖的Oracle专家ThomasKyte数十年的
用AngularJS开发下一代Web应用 本书特色 我们都希望开发更小型、更轻量的Web应用,让创建应用更加容易,并且当项目变大时仍然易于测试、扩展和维护。这本...
《悟变中医:瞿岳云教授别具一格的中医学理论解读》内容简介:本书共分6篇,包括开卷先导篇、基础理论篇、诊法辨证篇、病症治法篇、
本书详细介绍了利用PHP+MySQL开发常见类型Web应用程序的完整设计和编码技术,并对整体设计与关键代码给予了细致、深入的剖析。其
《出发!可爱的虫虫世界》内容简介:“蛋蛋学校万物探秘之旅”是国内原创的一套极富趣味性和知识性的探索万物的科普漫画绘本。讲述
《灾害康复医学》内容简介:全书内容包括绪论、灾害伤员早期医学救援、灾害伤员康复治疗(物理治疗、作业治疗、假肢矫形)、灾害伤
Clojure是一门Lisp方言。它通过函数式编程技术,直接支持并发软件开发,得到众多开发人员的欢迎,广泛应用于各个领域。Web开发是
这是一本剖析Linux常用目录及文件的专著,它打破以往图书偏重介绍命令语句的惯性思维,以系统目录架构为主体,并设计查询功能,以
代号为“Tiger”的下一个Java版本,不只是个小改动版。在语言核心中有超过100项以上的变动,同时有大量的对library与API所做的加
本书由国际著名设计大师EllenLupton出品,是一本以产品案例的展示和分析为主的图文并茂的工业设计类图书。全书篇幅虽然不长,但却