现在的位置: 首页 > 综合 > 正文

PKU 1065,1548,3636解题报告

2018年02月19日 ⁄ 综合 ⁄ 共 1728字 ⁄ 字号 评论关闭

这几题的思想和方法都是一样的,破一题可破三题,首先1065,题意说有很多stick,每个stick都有长度l和重量w,一台机器需要处理这些stick,首先第一条被处理的机器就需要一次setup time,接下来下根木棍的长度l和w都大于等于前面的木棍的话,那么就不需要增加setup time,否者需要,问一堆木棍处理完需要最少的setup time是多少,首先它如果大于就不需要setup time,然后就想到了排序,按l排序,如果l相等的话就按w排序,也就是说排序后保证了l是非递减序列,这时候判断w是否大与等于前面的w,如果是就把他们放入同一个set time的队列并标记这个stick不需要set time,依此类推,最后多少个队列就代表了最少的set time的次数。

PKU 1548和1065几乎一样。

PKU 3636和前面两题的区别只是等于的情况也需要set time 所以排序要做修改,

例如下面的情况

1 2

2 3

2 6

3 4

如果这样排就导致最少需要3次,因为2 6这里需要后3 4又需要,所以这时把 2 6排在2 3前面就可以避免这种情况的发生,就是当w相等时候,h按降序排序即可

抱歉!评论已关闭.