摘要:
题目戳我 \(\text{Solution:}\) 显然思路,把所有羊看成一个源点,所有狼看成一个汇点,格子之间连容量为$1$的边,直接跑最小割。 技巧: 注意到篱笆不能把羊给割掉,狼同理。所以,我们可以建立一个超级源点$S$向所有羊连一条容量为$inf$的边。这样,在最小割中就一定不会把这条边割掉 阅读全文
摘要:
Link \(\text{Solution:}\) 我们令源点和汇点分别为睡觉和不睡觉这两种互斥的决策点。把小朋友看成点,问题转化为最小割。 每一个小朋友对自己的意愿指向的汇点/源点。容量为$1.$之后要处理好朋友之间的关系。 让我们回到最小割的定义:求一组边,使它们割掉后,$S,T$不连通。 注意 阅读全文
摘要:
\(\color{red}{Link}\) \(\text{Solution:}\) 把人和床看成点,问题转化为二分图。 于是,对于每一个在校生,我们建立出他的床点;然后对于每一个在校生,他们自己可以和自己的床位连边。 对于其他人:每一个人都可以和他认识的人连边。当然,对于在校生不留下的人,可以省去 阅读全文
摘要:
\(\color{red}{Link}\) \(\text{Solution:}\) 观察到,如果一个时间$T$可以完成任务,则$T+1$这个时间也可以完成任务。 于是我们可以二分。 为了避免浮点数,我们可以让时间和血量都乘以$1000.$注意攻击力不需要增大,因为时间已经扩大了。 考虑如何网络流建 阅读全文
摘要:
\(Link\) \(\text{Solution:}\) 这一题,我们要做到,食物和牛、牛和饮料均为一对一的关系。我们发现这个图不好建立。 经典技巧:将牛拆边,拆成入点和出点,并连容量为$1$的边。 然后,从源点向食物连边,从食物向牛的入点连边,入点向出点连边,出点向饮料连边,饮料向汇点连边。容量 阅读全文