Rating:1918 | 解题报告: Orz数字:(贪心+重载优先级) 主要还是在于判断,比较a,b的位置,判断方法为a+b的组合数>b+a的组合数: 用优先队列或者sort重载优先级即可。 Orz环: (拓扑+并查集) 正向拓扑和反向拓扑,去除多余的点。然后用并查集去判断有多少个集合即可。 Orz图: (超图+最短路) 难点在于建图姿势,得用两个邻接表去记录图的信息,一个邻接表记录的是该集合所包含的点,另外一个邻接表是记录该点被哪几个集合包。因为是求最短路,用SPFA,保证每次取出的Dis[i]最小,每个集合就需要遍历一次即可,然后按照SPFA的算法,写代码即可。 |