摘要: 题意:n (n<=300)个村庄,要建设m (m<=30)个邮局,每个村庄使用最近的邮局,问总距离最小是多少?分析:最初的想法:dp(i, j)表示前j个村庄建设i个邮局,并且第i个邮局建设在第j个村庄的最小距离,则dp(i, j) = min ( dp(i-1,k) + dist(k,j) )。(i-1<=k<j, dist(k,j)为在村庄k和村庄j建设邮局,k和j之间的村庄到他们的最小距离)。由于n>=m,即最优解一定建设了m个邮局,第m个邮局可能建设在第k(m<=k<=n)个村庄,k+1~n的村庄只能到第k个村庄去,所以答案为min ( dp( 阅读全文
posted @ 2013-05-30 16:22 心向往之 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题意:IOI99 花店橱窗布置 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V是花瓶的数目。花束可以移动,并且每束花用1到F的整数标识。如果I < J,则花束I必须放在花束J左边的花瓶中。例如,假设杜鹃花的标识数为1,秋海棠的标识数为2,康乃馨的标识数为3,所有花束在放入花瓶时必须保持其标识数的顺序,即杜鹃花必须放在秋海棠左边的花瓶中,秋海棠必须放在康乃馨左边的花瓶中。如果花瓶的数目大于花束的数目,则多余的花瓶必须空,即每个花瓶只能放一束花。每个花瓶的形状和颜色也不相同,因此,当各个花瓶中放入不同的花 阅读全文
posted @ 2013-05-30 13:54 心向往之 阅读(568) 评论(0) 推荐(0) 编辑