「JSOI2014」学生选课
2021-04-20 07:27
标签:int ons print har stdin struct ref stdout lse 传送门 可以发现这就是一个裸的 \(\text{2-SAT}\) 「JSOI2014」学生选课 标签:int ons print har stdin struct ref stdout lse 原文地址:https://www.cnblogs.com/zsbzsb/p/12260562.html「JSOI2014」学生选课
看到这题首先可以二分。
考虑对于当前的 \(mid\) 如何 \(\text{check}\)
我们用 \(f_{i,j}\) 来表示 \(i\) 对 \(j\) 的好感度排名,那么对于两个人 \(i\),\(j\) 如果有 \(\max\{f_{i, j}, f_{j, i}\} > mid\) 那么显然这两个人是不能上同一个老师的课的。
而且每个人可以上的课只有两种,我们记为 \(a_{i, 0 / 1}\)
假设 \(i\),\(j\) 对于当前的 \(mid\) 而言不能分在一起,其中 \(a_{i, 0} = a_{j, 0}\),那么我们可以发现:
所以我们每次 \(\text{check}\) 都建图跑一遍 \(\text{2-SAT}\) 就好了。
参考代码:#include