百炼0.8-0.9总结
百炼0.8-0.9总结
0.8
开始进入图论,我非常喜欢图论 (又菜又爱玩)。
图论的题非常水,选几道有代表性的。
NKOJ1692 【NOIP2009】最优贸易
思路:分层图最短路
实现
- 把阿龙的图建成3层
- 第一层表示的是没有任何操作
- 第二层是买入之后的操作
- 第三层是卖出之后的操作
- 这样相当于是在第一层选一个点买入并从对应的边走到第二层,从第二层选一个点卖出并从对应的边走到第三层,在第三层选择一个点结束旅程。
NKOJ1107 达喀尔拉力赛
思路:转化问题+最短路
实现
- 分别求出 \(1\) 号点到 \(n\) 号点和 \(n\) 号点到 \(1\) 号点的最短路存在两个数组里面。
- 枚举每一条边,如果边权加上两点到 \(1\) 和到 \(n\) 的最短路,算出经过当前边的次短路。
- 在所有次短路中取最小值。
0.9
并查集,最小生成树,拓扑排序,不想说了,反正都很水。
NKOJ1209 并查集【NOI2001 Day1 T3】食物链
NKOJ5682 果老师炸桥
NKOJ2107 【并查集】可爱的猴子
NKOJ5150 tree
思路:二分+最小生成树
实现
- 如果想正常的最小生成树一样排序就会有很多白边加入,所以给白边整体加上一个数,使得恰好有 \(need\) 条。
- 那么到底应该加多少呢?用二分解决
NKOJ2308 关键子工程
思路:拓扑排序+DP
实现
- 先进行拓扑排序,然后按照拓扑序DP最大和最小值即可。