雇佣收银员

最后以\(24\)为起点求最长路就好了(判断条件是有无负环,即有无解)

这一道题目就给了我们一个处理三个未知数的方法

另外,这道题目如果像上面的图片一样以时间为考虑的对象,写代码就非常简单,而如果以人为考虑对象(设\(s[i]\)表示前\(i\)个人至少雇佣多少个),那么代码就非常难写

update 2024.5.27

来说明一下为什么有单调性

对于一个较小的\(s[24]\)存在一种合法的方案,在其增大\(\delta\)后,把\(s[1]\)\(s[23]\)也全部增大一个\(\delta\),由于\(s[24]\)增大了,可以知道所有不等式仍然满足,于是具有单调性

这里二分之后就可以直接判断有无严格正环了;如果有那么肯定无解,如果没有那么最后spfa一定收敛,此时就是一个解

如果某些题目不具有单调性就只有枚举了

posted @ 2024-02-09 23:37  最爱丁珰  阅读(1)  评论(0编辑  收藏  举报