BJ模拟(1) D1T1 Delight for a Cat

来源:互联网 发布:stc12c5a单片机引脚 编辑:程序博客网 时间:2024/06/06 08:33
 Delight for a Cat

题目背景:

thoj22

分析:

首先,如果你没有学习过NOI2008的志愿者招募,请先去A掉那道题这里

首先,假设这只猫在所有天数都是睡觉,我们稍后再决策将哪些天数改为吃东西。

我们用 X= 0 表示这只猫在第i天睡觉, X= 1 表示吃东西。

则有下列不等式:

m X+ X2+ X+...+ X k  ms

m X+ X3+ X+...+ Xk+1  k  ms

...

m Xn-k+1 + Xn-k+2+...+ X k  ms

我们令  Y k  m me ,则上述不等式可以转化为以下

的等式:

X+ X2+ X+...+ X+ Y= k  ms

X+ X3+ X+...+ Xk+1 + Y= k  ms

...

Xnk+1 + Xnk+2 +...+ X+Ynk+1 = k  ms

将这些等式两两相减,得:

X Xk+1 + Y1 Y2=0

X Xk+2 + Y2 Y3=0

...

Xn X+ Yn Ynk+1 = 0

(k  ms X X... X Y= 0

Xnk+1 + Xnk+2 +...+ X+Ynk+1  (k  ms) = 0

我们把等式左边加起来,发现恰好为0,满足流量平衡。

把上述每个等式看成一个点,若在第j个等式有-Yi,第k个等式有Yi,则向连一条从jk的容量为kmsme的边,若在第j个等式有-Xi,在第k个等式有Xi则连一条jk容量为1的边,然后对于正的常数c出现在第j个等式,从原点到j连一条容量为c的边,若对于负的常数-c出现在第k个等式,从k向汇点连一条容量为c的边,因为这一题还需要有费用,所以在相应的边上加上费用限制即可,最后跑一遍费用流。

Source


 

 

 

 

 

 

0 0
原创粉丝点击