摘要: 表示不提供翻译服务,看起来就费了九牛二虎之力……再加上POJ猥琐的多组数据,再加上EOF出错,再加上数据范围出错,于是我很无语的直接上题解。 因为一个牛只能住一个棚,一个棚只能装一个牛,所以牛和棚就构成了二分图的两个集合。一个牛可以住进不同的棚,一个棚可以装不同的牛,其实我们连上边就好……让最多的牛住进最多的棚,最多棚装最多的牛,于是我们就求其最大匹配……(感觉十分啰嗦)。注意连好牛和棚之间的边……程序:View Code var map:array[1..500,1..500] of longint; {邻接表} v:array[1..500] of... 阅读全文
posted @ 2011-10-14 17:04 ZJerly 阅读(267) 评论(0) 推荐(1) 编辑
摘要: 这个题我是用树形动规做的~ f[i,0]表示i节点被儿子所覆盖的最小点数。 f[i,1]表示i节点被自己所覆盖的最小点数。 f[i,2]表示i节点被父亲所覆盖的最小点数。 然后用递归求解,说下转移方程。 设j取遍i的所有儿子 f[i,0]:=f[j,1]+sigma(min(f[k,0],f[k,1])) k是不同于j的其他儿子 f[i,1]:=1+sigma(min(f[j,0],f[j,1],f[j,2])) f[i,2]:=sigma(f[j,0]) 初始化:(即叶子节点x) f[x,0]:=maxx; f[x,1]:=1; f[x,2]:=0; ... 阅读全文
posted @ 2011-10-14 10:02 ZJerly 阅读(240) 评论(0) 推荐(0) 编辑