02 2013 档案

摘要:题意:有n种珠宝,每件珠宝有必须要买的数量ai和单价pi,c种珠宝的单价递增。如果买了某种珠宝,需要额外付一次10*pi的费用(据说是为了防止你只买一件。。。),同时可以买同等数量单价高的珠宝代替单价低的珠宝,这样可能会省一些钱。求买完所需的珠宝需要的最少花费。分析:比如5……n的珠宝中,第6,7,9,11种珠宝被购买,称为A,其余是被替换的,称为B。那么对于第4种珠宝,若选择购买B类珠宝,那么都没有选择自己优。若选择购买A类珠宝,那么选择第6种珠宝最优。原因是一样的,首先是价钱在同类中最低,而且对于1……3种珠宝的替换在同类中最有利。可以发现,6,7,9,11 or 6,8,12,15,or 阅读全文
posted @ 2013-02-07 21:10 kiwi_bird 阅读(540) 评论(0) 推荐(0)
摘要:这个题目如果直接暴力枚举的话,复杂度是n*C(n,k),最坏情况约10^37。考察下面这种情况:(n=5,k=3,粗体及加下划线的节点为depot所在地)① ② ③ ④ ⑤① ② ③ ④ ⑤对于④及以后的节点,在④被选中后,距离它们最短的depot一定不会在④之前(因为距离一定比④远)。也就是说④及之后节点的最优情况与④之前的节点无关,图示两种情况对于④及以后节点是等价的。状态基本上就出来了。我从中提取出的状态是[s][num],表示在s号节点被选定后,节点s……n之间还剩num个位置要选时的最优值。预处理出disSum[N][N]数组,表示在节点i和节点j被选定后(j>i),i……j之 阅读全文
posted @ 2013-02-02 21:29 kiwi_bird 阅读(283) 评论(0) 推荐(0)