📚 High-Scoring Tips for Decision Mathematics 1 | 决策数学1高分技巧
Decision Mathematics 1 (D1) is often seen as the most unusual branch of A-level Maths because it focuses on algorithms, graphs, and networks rather than calculus or algebra. Success in D1 requires a shift in mindset: you need to understand processes, trace steps accurately, and apply standard methods with precision. This guide covers the essential high-scoring tips that top students use to master D1, from sorting and searching to critical path analysis and linear programming.
决策数学1(D1)常被视为A-level数学中最特别的一个分支,因为它研究的是算法、图和网络,而不是微积分或代数。在D1中取得好成绩需要思维方式的转变:你需要理解过程、准确跟踪步骤并精准应用标准方法。本文涵盖了顶尖学生用来征服D1的关键高分技巧,涉及排序、搜索、关键路径分析以及线性规划等内容。
1. Mastering Sorting Algorithms | 掌握排序算法
The bubble sort and quick sort are the two fundamental sorting algorithms examined in D1. For the bubble sort, always remember that after each pass the largest remaining element is in its correct position, so the number of comparisons per pass reduces by one. In the quick sort, the choice of pivot determines efficiency, but the exam will always specify the pivot to use — almost always the middle item or the first item. Write down the sublists clearly after each pass and count comparisons and swaps systematically to avoid losing marks on tracing questions.
气泡排序和快速排序是D1中考察的两种基础排序算法。对于气泡排序,切记每经过一趟,剩余元素中最大的那个就会到达其正确位置,因此每趟的比较次数递减一次。在快速排序中,枢轴的选择决定效率,但考试总会明确指定要使用的枢轴——几乎总是中间项或第一项。每趟过后清晰地写下子列表,并系统地计数比较和交换次数,以避免在跟踪题中失分。
One common trap is forgetting that the bubble sort continues until no swaps are made in a complete pass. Even if the list appears sorted, you must show a pass with zero swaps to demonstrate the algorithm has terminated. Similarly, for quick sort, remember that items equal to the pivot are usually placed in one sublist consistently — the convention should be stated or followed as given.
一个常见陷阱是忘记气泡排序要一直持续到某趟中没有任何交换发生。即便列表看起来已经排好序,也必须展示一趟零交换的遍历来证明算法终止。同样,对于快速排序,要记住等于枢轴的项通常一致地归入某侧子列表——惯例应在解题时予以说明或遵循给定要求。
2. Binary Search Precision | 二分查找的精确应用
The binary search algorithm requires a sorted list. You must identify the middle item correctly using integer division and then discard half the list based on comparison with the target. The key to scoring full marks is showing the pivot selection, the comparison, and the updated sublist bounds at each iteration. Write down the formula mid = ⌊(low + high) / 2⌋ or the appropriate rounding, and maintain consistency.
二分查找算法需要一个有序列表。你必须利用整除正确确定中间项,然后根据与目标的比较结果舍弃一半列表。拿到满分的关键在于展示每次迭代的枢轴选取、比较结果以及更新后的子列表边界。写下公式 mid = ⌊(low + high) / 2⌋ 或相应的取整方法,并保持一致性。
Many students lose marks by forgetting to state that the list must be sorted before binary search can be applied. Also, note that the maximum number of iterations is ⌈log₂ n⌉. If asked to find the number of comparisons in the worst case, use this ceiling function. When the target is not in the list, the algorithm must still terminate with a ‘not found’ signal.
很多学生因忘记说明在应用二分查找前列表必须有序而丢分。另外要注意最大迭代次数是 ⌈log₂ n⌉。如果被问及最坏情况下的比较次数,要使用该向上取整函数。当目标不在列表中时,算法仍须以“未找到”信号终止。
3. Shortest Path Algorithms: Dijkstra & More | 最短路径算法:Dijkstra等
Dijkstra’s algorithm finds the shortest path from a start node to all other nodes in a weighted network with non-negative weights. Draw the table with columns for node, shortest distance, previous node, and status (visited/unvisited). At each step, select the unvisited node with the smallest tentative distance, update its neighbours, and mark it as visited. Cross-check that you never update a visited node.
Dijkstra算法用于在非负权网络中寻找从起点到所有其他节点的最短路径。画一张包含节点、最短距离、前一节点和状态(已访/未访)列的表格。每一步选择未访节点中暂定距离最小的那个,更新其邻居节点,并把它标为已访。请反复确认绝不去更新一个已访节点。
In the exam, you may be asked to trace the algorithm, give the shortest path, or find its length. Always write the final path by reading backwards from destination to start using the previous node column. A common error is forgetting that when two nodes have the same minimum distance, the choice can affect the order but not the final optimal distances. Stick to alphabetical order if the mark scheme specifies it.
考试中可能会要求你跟踪算法、给出最短路径或计算其长度。始终通过利用前一节点列从终点反向追溯到起点来写出最终路径。一个常见错误是忘记当两个节点具有相同的最小距离时,选择会影响顺序但不会影响最终的最优距离。若评分方案明确要求按字母顺序处理,就照着做。
4. Minimum Spanning Trees Made Easy | 轻松搞定最小生成树
Two algorithms construct minimum spanning trees: Kruskal’s and Prim’s. Kruskal’s works by selecting edges in increasing weight order, avoiding cycles. Prim’s builds the tree from a starting vertex, adding the closest unconnected vertex at each step. For Kruskal’s, list all edges sorted by weight and check for cycles using a clear ‘component’ list or simply by inspecting the current tree.
构建最小生成树有两种算法:Kruskal算法和Prim算法。Kruskal通过按权重递增顺序选择边并避免环来运作。Prim算法从一个起始顶点构建树,每一步添加最靠近当前树的未连接顶点。对于Kruskal算法,列出所有按权重排序的边,并利用清晰的“连通分量”列表或直接检查当前树来判断是否会形成环。
Prim’s algorithm is easily implemented using a distance matrix or an adjacency table. Always state your starting vertex and maintain a list of connected vertices. When applying Prim’s from a matrix, the algorithm is executed without drawing the graph: find the minimum value in the columns corresponding to connected vertices, then row operations. Highlighting chosen values helps avoid careless mistakes.
Prim算法可利用距离矩阵或邻接表轻松实现。务必声明起始顶点,并维护一个已连接顶点列表。当通过矩阵应用Prim算法时,无需绘制图形即可执行:在已连接顶点对应的各列中寻找最小值,然后进行行操作。高亮所选值有助于减少粗心错误。
5. Critical Path Analysis | 关键路径分析
Critical path analysis (CPA) involves constructing an activity-on-node network, determining earliest start times (EST), latest finish times (LFT), and identifying critical activities. The golden rule: to calculate EST, move forward through the network taking the maximum of predecessors’ EST + duration. For LFT, move backward from the sink node using the minimum of successors’ LFT – duration.
关键路径分析(CPA)包括构建节点表示活动的网络图,确定最早开始时间(EST)、最晚完成时间(LFT)并识别关键活动。黄金法则:计算EST时,按网络正向推进,取前序活动的EST + 持续时间中的最大值。对于LFT,从汇节点逆向推进,取后续活动的LFT – 持续时间中的最小值。
A critical activity is one where EST = LFT. The critical path is a continuous chain of such activities from start to finish. Always show the float (total float = LFT − EST − duration) for each activity. Remember that a dummy activity (duration 0) must be used when there are dependency constraints not related to actual work; its duration is zero but it affects the network logic.
关键活动是指EST = LFT的活动。关键路径是从起点到终点由这些活动组成的连续链条。务必展示每个活动的总浮动时间(总浮动 = LFT − EST − 持续时长)。记住,当存在依赖关系约束但不涉及实际工作时,必须使用虚活动(时长0);其持续时间为零,但会影响网络逻辑。
6. Linear Programming: Formulation & Graphical Solution | 线性规划:建模与图解法
Linear programming (LP) problems in D1 involve formulating constraints, drawing the feasible region, and finding the optimal vertex. Begin by defining your decision variables clearly, e.g., ‘Let x be the number of … and y be the number of …’. Express all constraints as inequalities, remembering the non-negativity constraints x ≥ 0, y ≥ 0. When plotting, use dotted lines for strict inequalities (< or >) and solid lines for ≤ or ≥.
D1中的线性规划问题涉及建立约束条件、绘制可行域并找到最优顶点。从清晰地定义决策变量开始,例如“设x为……的数量,y为……的数量”。将所有约束表示为不等式,记住非负约束 x ≥ 0,y ≥ 0。画图时,严格不等式(< 或 >)使用虚线,≤ 或 ≥ 使用实线。
The objective function should be written and then evaluated at each vertex of the feasible region. Alternatively, use the objective line method: draw an initial objective line and slide it parallel until it just leaves the feasible region. The last vertex touched is the optimum. Always state the optimal values of x and y, and the maximum/minimum value of the objective. If the problem involves integer solutions, test the integer points near the vertex.
应写出目标函数,并在可行域的每个顶点处求值。或者使用目标函数线方法:画一条初始目标线,平行移动直到其恰好离开可行域。最后触碰的顶点即为最优解。务必明确陈述x和y的最优值以及目标函数的最大/最小值。如果问题要求整数解,需测试顶点附近的整数点。
7. Matchings and Bipartite Graphs | 匹配与二分图
A matching in a bipartite graph pairs vertices from two disjoint sets. An alternating path starts with an unmatched vertex and alternates between edges not in the matching and edges in the matching. The maximum matching algorithm grows the matching by finding an alternating path from any unmatched vertex on one side. If such a path exists, improve the matching by changing the status of the edges along the path.
二分图中的匹配是将两个不相交集中的顶点进行配对。交替路径从一个未匹配顶点开始,并在不属于匹配的边与属于匹配的边之间交替。最大匹配算法通过从某侧任意未匹配顶点出发寻找交替路径来扩大匹配。若存在这样的路径,则通过反转路径上各边的状态来改善匹配。
A complete matching occurs when every vertex on one side is matched. The necessary and sufficient condition is that for any subset of one side, the number of vertices in its neighbourhood is at least the size of the subset. In exam questions, clearly show your alternating paths using notation, and label each step to prove your matching update.
当一侧的每个顶点都得到匹配时,就实现了完全匹配。其充要条件是:对于某一侧的任意子集,其邻域中的顶点数至少等于该子集的大小。在考试题目中,使用符号清晰地展示交替路径,并标注每一步以证明你的匹配更新过程。
8. Tracing Algorithms with Accuracy | 准确跟踪算法
Many D1 exam questions ask you to trace an algorithm given the input. Create a trace table with columns for each variable, and update it step by step. Pay close attention to loop conditions and termination; use the exact output format specified in the question. Losing marks here is almost always due to skipping steps or not showing intermediate values.
许多D1试题要求根据给定输入跟踪算法。制作一张包含每个变量列的跟踪表格,并逐步更新其中的值。密切关注循环条件和终止条件;使用题目中指定的精确输出格式。在这类题中失分几乎总是因为跳过了某些步骤或没有展示中间值。
When tracing, note the difference between pseudocode conventions: assignment is often denoted by ‘←’ or ‘=’, and comparison by ‘=’ or ‘==’. Follow the exact syntax provided. Another key tip is to check for logical errors, such as off-by-one mistakes in loops. Always conduct a mental test with small inputs first to understand the algorithm’s flow before attempting the full trace.
在跟踪时,要注意伪代码约定的差异:赋值通常用“←”或“=”表示,比较用“=”或“==”表示。严格遵循题目给出的语法。另一个关键技巧是检查逻辑错误,比如循环中的差一错误。在进行完整跟踪之前,先用小输入做头脑测试以理解算法的流程。
9. Flows in Networks | 网络中的流
The maximum flow problem can be solved using the labelling procedure (Ford–Fulkerson method). Start with a feasible flow (often zero) and construct a flow-augmenting path from source to sink. For each forward edge, the additional flow is capacity minus current flow; for backward edges, it is the current flow. Increase the flow along the path by the minimum of these values, then update residuals.
最大流问题可利用标号法(Ford–Fulkerson方法)求解。从一个可行流(通常为零流)开始,并构造一条从源点到汇点的增流路径。对于每条前向边,可增加的流量等于容量减去当前流;对于后向边,则等于当前流。沿路径按这些值中的最小值增加流,然后更新残余量。
A minimum cut can be found once the maximum flow is obtained. The cut partitions vertices into two sets: those reachable from the source in the final residual graph and those not reachable. The capacity of this cut equals the maximum flow value. In the exam, draw the residual graph at each stage and mark the saturated edges clearly.
一旦获得最大流,就可能找到最小割。割将顶点划分为两个集合:在最终残余图中从源点可达的顶点,以及不可达的顶点。该割的容量等于最大流值。在考试中,画出每个阶段的残余图,并清晰标出饱和边。
10. Algorithmic Complexity and Order | 算法的复杂度与阶
Understanding big-O notation helps you compare the efficiency of algorithms. For instance, bubble sort is O(n²), quick sort on average is O(n log n), and binary search is O(log n). Questions often ask you to determine the number of comparisons or steps for a given input size; use the order notation to predict growth as n increases.
理解大O符号有助于比较算法的效率。例如,气泡排序是O(n²),快速排序平均为O(n log n),二分查找是O(log n)。题目往往要求根据给定输入规模确定比较次数或步骤数;利用阶符号可以预测当n增大时的增长趋势。
When justifying an algorithm’s order, you must consider the worst-case scenario. For linear search, it is O(n). For the Chinese postman algorithm, the complexity depends on the number of odd vertices. Be prepared to calculate the exact number of operations for small n, then generalize the expression using sums, and finally present the order by dropping constants and lower-order terms.
在论证算法的阶时,你必须考虑最坏情形。对线性搜索,它是O(n)。对中国邮递员算法,复杂度取决于奇度顶点的数量。要准备好对较小的n计算确切的操作次数,然后使用求和将表达式推广,最后通过舍弃常数和低阶项给出其阶。
11. Linear Programming: Simplex Method (If Applicable) | 线性规划:单纯形法(如适用)
For some boards, the two-stage simplex method or the big-M method is tested. Set up the initial simplex tableau carefully, converting inequalities to equalities with slack, surplus, and artificial variables. The pivot must be chosen from the column with the most negative indicator in the objective row; then compute ratios and select the row with the smallest non-negative ratio.
某些考试局会考察两阶段单纯形法或大M法。仔细建立初始单纯形表,利用松弛变量、剩余变量和人工变量将不等式转化为等式。枢轴应在目标行中指示数最小的列中选择;然后计算比值,并选择具有最小非负比值的行。
After pivoting, the objective row should show no negative indicators for an optimal solution. If artificial variables remain in the basis at a positive level, the problem is infeasible. Always write a conclusion stating the optimal values and the objective value. Simplex method questions reward meticulous bookkeeping: update every entry exactly.
进行枢轴运算后,若目标行没有负指示数,则得到最优解。若人工变量在基中保持正水平,则问题无可行解。务必写出结论,说明最优值和目标函数值。单纯形法题目看重细致的记录:精确地更新每个条目。
12. Final Exam-Day Strategies | 终极大考策略
Before diving into a D1 question, identify which algorithm is required by the command words — ‘trace’ means step-by-step demonstration, ‘state’ means a concise answer, and ‘determine’ may involve applying an algorithm. Always scan the entire question first, noting the marks allocated to each part; this helps you manage time and detail level.
在着手解决D1问题之前,根据指令词识别所需算法——“跟踪”意味着要逐步演示,“陈述”意味着简洁的答案,“确定”可能涉及应用算法。一定要先扫读整个问题,注意每一部分分配的分数;这有助于你管理时间和回答的详细程度。
Leave at least 5 minutes at the end to check your traces, especially looking for simple arithmetic errors. In graph theory questions, double-check that the number of edges and vertices matches the diagram. For linear programming, ensure the feasible region is shaded or outlined as per the question’s instruction, and verify boundary intersections by solving equations simultaneously.
最后至少留出5分钟检查你的跟踪步骤,尤其要留意简单的算术错误。在图论问题中,再次检查边与顶点的数目是否与图一致。对于线性规划,确保按题目要求对可行域进行阴影标记或描边,并通过联立方程验证边界交点。
Published by TutorHao | Decision Mathematics 1 Revision Series | aleveler.com
更多咨询请联系16621398022(同微信)
屏轩国际教育cambridge primary/secondary checkpoint, cat4, ukiset,ukcat,igcse,alevel,PAT,STEP,MAT, ibdp,ap,ssat,sat,sat2课程辅导,国外大学本科硕士研究生博士课程论文辅导