Edexcel决策数学D1真题备考全攻略
一、决策数学D1是什么 | What is Decision Maths 1
决策数学D1是Edexcel进阶数学(Further Maths)中一门非常独特的模块。它不研究微积分或代数运算,而是研究如何用算法解决现实中的优化问题:如何寻找最短配送路线、如何用最低成本连接一个网络、如何安排项目工期、如何在资源有限时做出最优决策。考试中几乎所有题目都要求你一步步执行算法并完整写出过程,所以D1的核心能力就是三个字:会算、会写、会解释。
Decision Maths 1 (D1) is a distinctive module in Edexcel Further Maths. Unlike Pure Maths, which focuses on calculus and algebra, D1 studies algorithms: step-by-step procedures for solving real-world optimisation problems. These include finding the shortest delivery route, connecting a network at minimum cost, scheduling a project, and allocating limited resources efficiently. Nearly every exam question asks you to carry out an algorithm step by step and write out the full process, so the core skill in D1 is knowing how to calculate, how to record your working, and how to explain each step.
二、试卷结构与分值分布 | Paper Format and Mark Allocation
D1试卷满分75分,考试时长1小时30分钟,约占进阶数学总成绩的25%。整张卷子通常有7到8道大题,全部必答,没有选做题,每道题对应一个核心算法或知识点。题目结构非常规律:先要求你写出某个术语的定义,再要求你对给定数据执行算法,最后要求你解释结果的实际含义。熟悉这种"定义、执行、解释"的三段式结构,是稳定拿分的第一步。
The D1 paper is worth 75 marks and lasts 1 hour 30 minutes, contributing about 25% of the Further Maths qualification. It typically contains seven or eight questions, all compulsory with no choice, and each question targets one core algorithm or topic. The structure is highly predictable: you are first asked to state a definition, then to carry out an algorithm on given data, and finally to interpret the meaning of the result in context. Becoming familiar with this three-part pattern is the first step towards consistent marks.
三、核心算法一:排序与搜索 | Core Algorithms 1: Sorting and Searching
排序与搜索是D1最基础的算法模块。冒泡排序(bubble sort)通过相邻两两比较交换,最多需要n-1轮,比较次数为n(n-1)/2;快速排序(quick sort)先选枢轴(pivot),再分成小于和大于两部分递归处理。二分搜索(binary search)只能用于已排序列表,每次取中点比较后舍弃一半,最多约log2(n)次比较。装箱问题(bin packing)则用首次适配(first-fit)或降序首次适配(first-fit decreasing)把物品装进尽量少的箱子,先降序排列通常能得到更好的装箱方案。
Sorting and searching are the most basic algorithms in D1. Bubble sort compares adjacent pairs and swaps them into order, needing at most n-1 passes and n(n-1)/2 comparisons. Quick sort chooses a pivot, splits the list into elements smaller and larger than the pivot, and repeats recursively. Binary search works only on an ordered list: it takes the middle item, compares, and discards half each time, needing at most about log2(n) comparisons. For bin packing, the first-fit and first-fit decreasing methods pack items into as few bins as possible; sorting into descending order first usually gives a better packing.
四、核心算法二:最小生成树 | Core Algorithms 2: Minimum Spanning Trees
最小生成树解决的是"如何用最短的总长度把多个点连接成一个网络"的问题。克鲁斯卡尔算法(Kruskal)先把所有边按权值从小到大排序,再依次加入不会形成回路的最短边,直到选出n-1条边为止。普里姆算法(Prim)则从任意一个顶点出发,每次都加入连接树内外、权值最小的边。两种算法结果相同,但Kruskal适合边表形式,Prim适合距离矩阵形式,考试中要按题目给定形式选择。
Minimum spanning trees solve the problem of connecting several points into a network with the smallest total length. Kruskal's algorithm sorts all edges by weight in increasing order, then adds the shortest edge that does not create a cycle, stopping after n-1 edges have been chosen. Prim's algorithm starts from any vertex and repeatedly adds the smallest edge joining a vertex inside the tree to one outside. Both give the same result, but Kruskal suits edge-list form while Prim suits a distance matrix, so choose the method that matches the data given in the question.
五、核心算法三:最短路径与路径检查 | Core Algorithms 3: Shortest Path and Route Inspection
最短路径与路径检查涉及两个经典算法。迪杰斯特拉算法(Dijkstra)从起点出发,为每个顶点记录"目前已知的最短距离",每次锁定数值最小的顶点并更新其邻居,最终得到起点到所有顶点的最短路径。路径检查问题(route inspection,又称中国邮差问题)要求找出一条走遍所有边、回到起点的最短路线:先找出所有奇度顶点,再把它们两两配对,复制对应最短路径上的边即可。
Shortest path and route inspection involve two classic algorithms. Dijkstra's algorithm starts from the source, records the current best distance for each vertex, fixes the vertex with the smallest value at each stage, and updates its neighbours, eventually producing the shortest path from the source to every vertex. The route inspection problem, also called the Chinese postman problem, asks for the shortest route that travels every edge and returns to the start: find all odd-degree vertices, pair them up, and duplicate the edges along the shortest paths joining each pair.
六、关键路径分析CPM | Critical Path Analysis
关键路径分析(CPM)用于项目管理,帮助确定一项工程的最短完成时间。首先要画活动网络图(activity network),用节点或箭头表示活动,用虚活动(dummy)表示依赖关系。然后进行正向计算得到每个事件的最早时间,反向计算得到最晚时间,两者之差就是浮动时间(float)。浮动时间为零的活动构成关键路径,关键路径上的总时长就是工程的最短工期,任何关键活动的延误都会推迟整个项目。
Critical path analysis is used in project management to find the shortest possible completion time of a project. First draw the activity network, representing activities by nodes or arcs and using dummies to show dependencies. Then carry out a forward pass to find each event's earliest time and a backward pass for the latest time; their difference is the float. Activities with zero float form the critical path, and the total duration along it is the minimum project time. Any delay to a critical activity delays the whole project.
七、线性规划与可行域 | Linear Programming and the Feasible Region
线性规划用来在若干约束条件下求目标函数的最大值或最小值。首先设出决策变量,把题目的限制写成不等式约束,再在坐标系中画出可行域(feasible region)。目标函数是一条直线,沿其法线方向平移,在可行域的顶点处取得最优值。如果要求整数解,还需检查最优顶点附近的整数格点。答题时必须明确写出"最优解在哪个顶点取得"以及对应的目标函数值。
Linear programming maximises or minimises an objective function subject to several constraints. First define decision variables, write the problem's limits as inequalities, and draw the feasible region on a coordinate grid. The objective function is a straight line; moving it in the direction of its normal, the optimum occurs at a vertex of the feasible region. If integer solutions are required, check the integer grid points near the optimal vertex. Always state clearly which vertex gives the optimum and the corresponding value of the objective function.
八、匹配问题与二分图 | Matchings and Bipartite Graphs
匹配问题研究如何在两组对象之间做一对一分配,例如把工人分配到任务。二分图(bipartite graph)的顶点分成两组,边只连接两组之间。匹配(matching)是两两不相邻的一组边,最大匹配包含尽可能多的边。改进匹配的核心工具是交替路径(alternating path):一条从两个未匹配顶点出发、匹配边与非匹配边交替出现的路径,沿它"翻转"就能让匹配数增加一。当较小一组的每个顶点都被匹配时,就得到完全匹配。
Matching problems study how to pair objects from two groups one-to-one, such as assigning workers to tasks. A bipartite graph splits its vertices into two sets, with edges only between the sets. A matching is a set of edges with no shared vertex, and a maximum matching contains as many edges as possible. The key tool for improving a matching is the alternating path: a path starting and ending at unmatched vertices that alternates matched and unmatched edges; flipping along it increases the matching by one. When every vertex of the smaller set is matched, the matching is complete.
九、算法追踪题的答题规范 | Presenting Algorithm Traces Correctly
D1的得分大量来自"过程分",因此算法追踪的书写规范直接决定分数。冒泡排序要完整写出每一轮的比较与交换结果;Dijkstra要画出记录表并标出顶点锁定的先后顺序;Kruskal要按序列出边并注明"选中"或"舍弃(形成回路)";CPM要在网络图上标出最早、最晚时间。每执行完一个算法,务必单独用一句话给出最终答案,例如"最小生成树总权重为28"。
A large share of D1 marks comes from method marks, so the way you present an algorithm trace directly determines your score. For bubble sort, write out every pass with its comparisons and swaps. For Dijkstra, draw the working table and mark the order in which vertices are fixed. For Kruskal, list edges in order and note selected or rejected because it creates a cycle. For critical path analysis, record earliest and latest times on the network. After finishing any algorithm, give the final answer in a single clear sentence, such as minimum spanning tree total weight is 28.
十、常见失分陷阱 | Common Exam Traps
D1最常失分的地方往往不是算法不会,而是细节。常见陷阱包括:对未排序列表直接做二分搜索;Kruskal加入了一条会形成回路的边;Prim加入的边没有连接当前树;Dijkstra对有向边方向处理错误或更新顺序混乱;CPM画错虚活动、把最早和最晚时间弄混;线性规划目标方向搞反、忘记整数解;路径检查漏加奇度顶点之间的最短配对。这些错误都会在"执行过程"环节被整题扣分。
In D1, marks are most often lost on details rather than on not knowing the algorithm. Common traps include running binary search on an unsorted list, adding an edge that forms a cycle in Kruskal, adding an edge not connected to the current tree in Prim, mishandling directed edges or the update order in Dijkstra, drawing dummies wrongly or mixing up earliest and latest times in critical path analysis, reversing the objective direction or forgetting integer solutions in linear programming, and omitting the shortest pairings between odd vertices in route inspection. Any of these costs marks across the whole working-out section.
十一、从真题到满分的高效刷题法 | Efficient Past-Paper Practice Method
高效的刷题方法是"三遍法"。第一遍限时独立完成整套真题,模拟考场;第二遍对照评分方案逐题批改,找出自己不熟的算法;第三遍针对薄弱算法,脱离答案完整重做并规范写出每一步。同时准备一份"算法模板本",把每个算法的步骤、书写格式、易错点整理成卡片。D1题型高度固定,把近五年的真题吃透,比盲目做大量新题更有效。
An efficient way to practise is the three-pass method. First, complete a full past paper under timed conditions to simulate the exam. Second, mark it against the mark scheme and identify the algorithms you are weakest at. Third, redo those algorithms from scratch without the answers, writing every step in the standard format. Also keep an algorithm template book of cards summarising the steps, the required layout, and the common errors for each algorithm. Because D1 question types are highly repetitive, mastering five years of past papers is more effective than rushing through many new ones.
十二、考前冲刺与查漏补缺 | Pre-Exam Sprint and Gap Filling
考前最后阶段的重点是查漏补缺。用一张清单逐项核对:是否能默写树、生成树、二分图、匹配、关键路径等术语的定义;是否能在不看笔记的情况下完整跑通每个算法;是否清楚每种题型对应哪个算法。每天限时做一道大题保持手感,重点复习之前反复出错的知识点。考试当天先快速浏览全卷,从最熟悉的算法题开始作答,确保过程清晰完整。
The final stage before the exam should focus on closing gaps. Use a checklist to verify that you can write out definitions such as tree, spanning tree, bipartite graph, matching, and critical path from memory; that you can run every algorithm fully without notes; and that you know which algorithm each question type calls for. Do one timed question a day to stay sharp, prioritising the topics you have repeatedly got wrong. On exam day, scan the whole paper first, start with the algorithms you are most confident in, and keep every trace clear and complete.
需要专业A-Level辅导?
16621398022
同微信 | 免费咨询课程规划
访问 aleveler.com 了解更多
更多咨询请联系16621398022(同微信)

或截图后用「扫一扫 → 相册」选择本图