区間[l,r][l',r']が共通部分を持つかどうか、というのは、たまに出てくるんだけど「共有部分を持つ」とストレートに 考えると、どっちが左にあるのかの場合分け、片方が他方を含む場合、などなど案外面倒くさい。 しかし、「共通部分を持たない」場合は、片方が他方の完全に左側にある、ということで、場合分けは2通りしかない。つまり、

共通部分を持たない ⇔ r < l' or r' < l'

「共通部分を持つ」のはこれを否定すれば良いので、

共通部分を持つ ⇔ r ≧ l' and r' ≧ l'

となる。