
hoj
文章平均质量分 77
njlcazl
这个作者很懒,什么都没留下…
展开
-
【hoj2715】【最小费用最大流】Matrix3
跟方格取数有点类似,只是有了高度的限制。 建模方法: 1、将每个格子i拆成两个点i',i'',加边(i',i'',1,-Vi) -> 保证单元内的宝物只能取一次。 2、加边(i',i'',inf,0),(s,i',k,0) -> 保证一开始可以从任意高度出发。(注意源点s到i'的容量不能为inf) 3、对相邻的四个格子j,若Hi > Hj则加边(i'',j',inf,0) -> 保证原创 2013-03-28 20:50:07 · 775 阅读 · 1 评论 -
【hoj2634】【最小割】How to earn more
借用Edelweiss的话,此题是典型的“蕴含式最大获利问题”,使用解决最大权闭合子图的建模方法即可解决。 每个项目i作为一个点并连边(s,i,Ai),每名员工j作为一个点并连边(j,t,Bj),若项目i需要雇佣员工j则连边(i,j,∞)。 设最小割为ans,则∑Ai - ans即为结果 代码: #include #include using namespace std; const in原创 2013-03-22 11:10:41 · 659 阅读 · 0 评论 -
【hoj2713】【最小割】Matrix1
题意:一个n*m的网络,每个单元都有一块价值Cij的宝石,问最多能取多少价值的宝石且任意两块宝石不相邻。 经典的最大点权独立集问题,一个很巧妙的转化,转化为最小点权覆盖。 将网格黑白染色,从源点到每个黑点连一条边,从每个白点到汇点连一条边,容量均为宝石价值。每个黑色与周围四个白点连边,为inf,做一次最小割,即为最小点权覆盖,记为tmp,则ans = ∑Cij - tmp 代码:原创 2013-03-24 22:00:14 · 734 阅读 · 0 评论