有一组数据不明白

P1065 [NOIP2006 提高组] 作业调度方案

本题有一大误区,从题面上会理解错误,从实际出发也不合常理 按正常思维,应该用时间轴方式扫描每台机器当前时间是否工作,如未工作可以把后面的工序按两个必要条件放入。 但题目要求的是严格按给定工件工序操作,后面的工序就算符合两个必要条件也不行样例说是3-1可以先进行,也是在1-1 1-2执行完后,前面有空档才能放入如果样例3-1的时间是4,就不能插入,只能在后面进行。 这不符合实际,如果从实际出发,符合条件的情况下按时间轴扫描可能得到更少的时间所以题目一方面说可以不按工序顺序执行,一方面又必须按工序顺序执行,前后矛盾。 正确理解这题方式: 1、按顺序提取每一个工件工序 2、每提取一个就放入所在机器 3、放入后记好相关数据 4、如果前面有空档,可以插入 5、找位置无法确定循环次数,但一定能找到,可用break跳出 6、正确方式:取工件工序---循环找位置---取下一个工件工序---循环找位置(按给定顺序) 7、错误方式:取当前位置---找工件工序---取当前位置---找工件工序(按时间轴)
by hbpyj123 @ 2023-08-10 15:10:00


@[hbpyj123](/user/819907) 机器1号 11111223333 长度11 机器2号 3333k1111222 长度12 机器3号 22kk333kk11 长度11 所以结果12 k代表空格,我的理解是这样规划,我没有看懂大佬的意思,可以给我画一下规划图吗?
by Blone_Dragon @ 2023-08-10 23:03:29


3 3 1 1 1 3 3 2 3 2 2 1 2 3 1 2 3 2 3 1 5 4 2 2 3 2 4 3 4 1-1 1号机 用时5 1-2 2号机 用时4 1-3 3号机 用时2 3-1 2号机 用时4 3-2 3号机 用时3 2-1 1号机 用时2 3-3 1号机 用时4 2-2 2号机 用时3 2-3 3号机 用时2 11111223333000 33330111122200 00003330011022 14 你的2-3工件工序应该是在2-2工件工序完成后才能执行,所以错了
by hbpyj123 @ 2023-08-11 17:02:07


@[hbpyj123](/user/819907) 感谢!!
by Blone_Dragon @ 2023-08-11 17:48:59


|