雇佣收银员
最后以\(24\)为起点求最长路就好了(判断条件是有无负环,即有无解)
这一道题目就给了我们一个处理三个未知数的方法
另外,这道题目如果像上面的图片一样以时间为考虑的对象,写代码就非常简单,而如果以人为考虑对象(设\(s[i]\)表示前\(i\)个人至少雇佣多少个),那么代码就非常难写
update 2024.5.27
来说明一下为什么有单调性
对于一个较小的\(s[24]\)存在一种合法的方案,在其增大\(\delta\)后,把\(s[1]\)到\(s[23]\)也全部增大一个\(\delta\),由于\(s[24]\)增大了,可以知道所有不等式仍然满足,于是具有单调性
这里二分之后就可以直接判断有无严格正环了;如果有那么肯定无解,如果没有那么最后spfa一定收敛,此时就是一个解
如果某些题目不具有单调性就只有枚举了