Notes:

Problem : Prove or disprove: for any connected graph $G$ with vertex set $V$ and edge set $E$ and non-negative, not necessarily distinct weights on the edges, for all minimum spanning trees $T$ of $G$, each edge $(v, w)$ in $T$ is a minimum-weight edge across some cut that some subset of $T$ respects.

Problem : Consider the following algorithm for computing a minimum spanning tree in a connected graph $G$ with vertex set $V = \{0, 1, \ldots, n-1\}$ and edge set $E$, in which the edges have distinct non-negative weights.

Problem : Imagine a transportation network in which cities are linked by two modes of transportation: fast but expensive Hyperloop tubes and slow but cheap on-demand self-driving cars. Two cities may or may not be linked directly (without requiring a transfer in another city), but if they are linked by one mode they are linked by the other as well. For any pair of linked cities, the travel time is known and consistent (no congested traffic!) for both modes of transportation, and the Hyperloop is always at least as fast as the self-driving cars (and neither mode can send you back in time). Wait times and transfer times are negligible.

Suppose you have plenty of money for self-driving cars but can't afford any Hyperloop trips – except you have a one-time promotional code good for free travel between any pair of cities linked directly to each other. You need to find the fastest way to travel from your home city to some other given city (Baltimore, for example, has a great aquarium, baseball stadium, free art museums, restaurants...). Model this problem as a graph problem, describe an efficient algorithm to solve it, and prove that your algorithm is correct (hint: if you use an existing algorithm then you don't have to repeat the proof that it is correct, but you do have to explain how your use of it results in the correct output).

Problem : Consider an undirected graph with non-negative weights on the edges and with a special property: it can be broken down into a 2-D grid of cells with $k$ cells total where each cell has 4 special "corner" vertices shared with its neighbors plus $k$ other "interior" vertices, the degree of all vertices is bounded by a constant $c$, and none of the edges go between interior vertices in different cells or between non-adjacent grid corners.

2x3 grid graph
A grid graph with $k=6$ (edge weights omitted for clarity). Blue vertices are the corner vertices; green vertices are the interior vertices. Thick black lines are the edges; thin gray lines show the grid.

Devise a worst-case $O(k^2 \log k)$ algorithm that, given the graph represented using adjacency lists, the width and height of the grid, and a list of $k$ pairs of vertices in the graph, outputs for each pair the total weight of the minimum-weight path between the pair. Explain why your algorithm meets the time bound. You may assume that each corner vertex is labelled with $(r, c)$ giving its position in the grid (with $(0, 0)$ being the upper left corner of the upper left cell), and each interior vertex is labelled with $(r, c, i)$ giving which grid cell it is in and its 0-based index within that cell (with cell $(0, 0)$ being the upper left cell, so that cells are labelled the same as their upper left corners), and that you can distinguish between the two different label types and extract their components in constant time.