《世界大学生程序设计竞赛(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章 猜想与试验
《简明版面设计》通过大量的实际图例分析,介绍如何应用3种格调和5种要素来设计各种各样的版面。《简明版面设计》分学习编、分析
《小创客学光环板》内容简介:本书主要介绍利用小巧的光环板及功能强大的慧编程平台实现智能可穿戴设备作品的设计与创作。在内容上
《风物》内容简介:《风物》是有名摄影随笔作家青简对中国地域风俗的可视化记录。文稿集中选取了拥有有中国特点的文化美学关键词“
ThegoalofTheReasonedSchemeristohelpthefunctionalprogrammerthinklogicallyandthelo...
“网页亲和力(WebAccessibility)”一词为台湾地区的说法,大陆地区多译做“网页可访问性”。前者易于理解,而后者则术语感更强
《瑞士银行秘密》内容简介:银行业变革一直是近些年的热点话题。世界很大的离岸金融中心瑞士银行以拥有数百年的保密传统而享有盛誉
“从公元前1世纪到公元15世纪的漫长岁月中,中国人,在应用自然知识与满足人的需求方面,曾经胜过欧洲人,那么,为什么近代科学革
《杀馋》内容简介:本书收录了周墙作为一个好吃佬创作的27篇生动风趣的美食散文,以食物为核心串联起数十年人生岁月,组成一部怀旧
《危机时刻:德国保守主义革命》内容简介:本辑为读者呈现的是1933年纳粹政权前后,德国思想界影响深远的思潮:保守主义革命。这股
《这就是财务管理:世界500强CFO的独家分享》内容简介:本书财务工作涉及企业运营的方方面面,长期以来,无论是财务工作者还是企业
当你觉得似乎学会网络设计的时候,真的是掌握了这些基本原理了吗?为什么有些源代码非记述不可?如果不写会怎样?只有搞清楚这些
Dailylifeisconnectedlife,itsrhythmsdrivenbyendlessemailpingsandresponses,thechim...
C语言兼具高级语言和汇编语言的特点,学习起来难度较大,令不少初学者望而生畏。同时,C语言又是一门应用非常广泛的编程语言,在
Perl编程核心技术5 内容简介 Perl是一门功能强大、易于使用、容易移植的程序设计语言。Perl用途广泛,可用于Unix或Windows NT系统管理,We...
《混沌工程:复杂系统韧性实现之道》内容简介:混沌工程已然腾飞。在各个垂直领域,成千上万的各种类型和规模的公司都将混沌工程作
《Windows Server 2012网络操作系统企业应用案例详解》内容简介:本书以Windows Server 2012 R2为核心平台,采用教、学、做相结...
《科技之光》是“国民教育通识读本”系列之一,介绍了人类史上对科技文明与进步起到举重若轻作用的天才大师的经典巨作,以及最新
Frommobilebrowserstonetbooksandtablets,usersarevisitingyoursitesfromanincreasing...
设计与生存 内容简介 一种设计,无论原理上多么先进,如果缺乏量产的可能,对于企业或产业的意义恐怕很有局限。经过20年市场换技术的尝试,我们发现自己在技术上处于一...
《idea+提升创意力的设计诀窍书》内容简介:没有设计素材怎么办?如何在经费捉襟见肘的情况下做出好设计?怎样运用不同的设计软件