摘要: 在一个网格中有某些垃圾,机器人只能向下或向右,当某个机器人走到垃圾处时,看做它捡起了这个垃圾,现在给定各垃圾坐标求捡起所有垃圾最少需要的机器人数。很明显的最小路径覆盖,但是再向深里挖呢??把坐标按x升序排序,x相同保证y升序,那么某一个机器人捡起的垃圾组成的序列必是x,y的最长不降序列,问题转化为求用最少的不降序列覆盖原序列由偏序集的Dilworth定理,这个答案就是原序列的最长下降序列,n^2算法即可。View Code 1 program pku1548(input,output); 2 var 3 f : array[0..1000] of longint; 4 x,y... 阅读全文
posted @ 2012-02-29 18:01 Codinginging 阅读(310) 评论(0) 推荐(0) 编辑