《世界大学生程序设计竞赛(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语言库函数,掌握创建可重用C语言软件模块技术的参考指南。
在线阅读本书Inthisinterdisciplinarydiscussiononmentalmodels,researchersfromvariousarea...
《诗的时光书:当你老了》内容简介:以被艾略特誉为“当代最伟大的诗人”的叶芝开篇,这本书为读者打开了西方诗歌经典之门。作者精
《绅权与国家权力关系研究:从明清到民初》内容简介:从乡村权力结构角度研究绅权与国家权力的关系,这不仅是一个法律史学问题,同
《Python人工智能》内容简介:本书系统地介绍了基于Python平台的人工智能的原理及实现过程,全书共7章。第1章“从这里开始认识Pyth
《面具与乌托邦》内容简介:★拉丁美洲哲学思想走向成熟的突破之作,开启墨西哥国民性批判先河,首次中译。★丝丝入扣揭示民族自卑
压缩感知理论的工程应用方法 内容简介 在传输带宽有限和数据量激增的数字化时代,压缩感知理论为低速有效获取信息提供了一种新的思路,成为近十年来信号信息处理领域中一...
薄膜晶体管液晶显示器显示原理与设计 本书特色 本书基于薄膜晶体管液晶显示器的生产和设计实践,首先介绍了薄膜晶体管液晶显示器的基本概念和器件原理,然后以产品开发的...
《R语言游戏数据分析与挖掘》内容简介:随着大数据的概念越来越流行,越来越多的企业开始重视数据,期待从数据中寻找有价值的结论,
《C语言程序设计》内容简介:本书采用“案例引入—理论讲解—案例学习—编程体验”的方式,全面介绍了利用C语言进行结构化程序设计
本书是《QBasic语言程序设计教程》(第二版)一书的配套教材、本书第一部分以概要的形式,对全书进行了总结,以便学生复习。在第
人工智能与问题解决方法 内容简介 衡量人工智能的一个角度是解决问题的能力。《人工智能与问题解决方法》将我们在计算机科学、数学和人工智能课程上经常遇到的一些有趣的...
《TensorFlow机器学习实战指南(原书第2版)》内容简介:本书由资深数据科学家撰写,从实战角度系统讲解TensorFlow基本概念及各种应
数据库系统基础教程(英文版.第2版) 本书特色 本书是《Database Systems:The Complete Book》(《数据库系统全书》,由Hecto...
《纳兰词》内容简介:他是王国维、梁启超、徐志摩盛赞的词人,留存于世的三百余篇词作中,“情”是贯穿始终的主题,“诗乃心声,性
关于算法分析的这多卷论著已经长期被公认为经典计算机科学的定义性描述。这一册以及刚刚出版的第4卷第2册揭开了人们急切等待的《
《Flutter 开发之旅从南到北》内容简介:本书主要讲述Flutter框架的核心技术。本书共12章,首先介绍了Flutter技术的基础知识、Dart
本书作者HarleyHahn从20世纪80年代开始,亲身体验了几平整个UDIX以及Linux操作系统的发展历史。他所著的Unix和Linux教程,秉承了