悬关 求助排序策略与细节!!!
  • 板块学术版
  • 楼主朝夕晨曦_L
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/7/21 17:01
  • 上次更新2023/11/3 08:24:20
查看原帖
悬关 求助排序策略与细节!!!
469363
朝夕晨曦_L楼主2023/7/21 17:01

题目编号:P3243 [HNOI2015] 菜肴制作

总体思路:一边拓扑一边标记每一组限制的分组,深度,和大小,然后进行排序。

排序思路是在组别相同时,说明需要满足先后关系(体现在深度上)并且深度不同才会进行深度从小到大排序,深度相同让数值大小小的靠前,不是同一组的就按照数值大小排序。

用了sort排序,排序操作如下:

int cmp(pp a,pp b){
    if(a.group==b.group&&a.dep!=b.dep){
        return a.dep<b.dep;
    }
    return a.large<b.large;
}

排序效果如下:

排序前:

大小分组分层
111
252
342
441
551

排序后:

大小分组分层
111
252
441
342
551

问题可能出现在两两交换与宏观思想不匹配。

有没有大佬知道这样排序会出错的真正原因,如何改进排序策略或者是换一种排序方法?

感谢大佬的帮助!

2023/7/21 17:01
加载中...