QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#2000. Cowmistry

الإحصائيات

Bessie has been procrastinating on her cow-mistry homework and now needs your help! She needs to create a mixture of three different cow-michals. As all good cows know though, some cow-michals cannot be mixed with each other or else they will cause an explosion. In particular, two cow-michals with labels $a$ and $b$ can only be present in the same mixture if $a \oplus b \le K$ ($1 \le K \le 10^9$).

NOTE: Here, $a\oplus b$ denotes the "bitwise exclusive or'' of non-negative integers $a$ and $b$. This operation is equivalent to adding each corresponding pair of bits in base 2 and discarding the carry. For example, $$0\oplus 0=1\oplus 1=0,$$ $$1\oplus 0=0\oplus 1=1,$$ $$5\oplus 7=101_2\oplus 111_2=010_2=2.$$

Bessie has $N$ ($1\le N\le 2\cdot 10^4$) boxes of cow-michals and the $i$-th box contains cow-michals labeled $l_i$ through $r_i$ inclusive $(0\le l_i \le r_i \le 10^9)$. No two boxes have any cow-michals in common. She wants to know how many unique mixtures of three different cow-michals she can create. Two mixtures are considered different if there is at least one cow-michal present in one but not the other. Since the answer may be very large, report it modulo $10^9 + 7$.

INPUT FORMAT (input arrives from the terminal / stdin):

The first line contains two integers $N$ and $K$.

Each of the next $N$ lines contains two space-separated integers $l_i$ and $r_i$. It is guaranteed that the boxes of cow-michals are provided in increasing order of their contents; namely, $r_i<l_{i+1}$ for each $1\le i<N$.

OUTPUT FORMAT (print output to the terminal / stdout):

The number of mixtures of three different cow-michals Bessie can create, modulo $10^9 + 7$.

SAMPLE INPUT:

1 13
0 199

SAMPLE OUTPUT:

4280
We can split the chemicals into 13 groups that cannot cross-mix: $(0\ldots 15)$, $(16\ldots 31)$, $\ldots$ $(192\ldots 199)$. Each of the first twelve groups contributes $352$ unique mixtures and the last contributes $56$ (since all $\binom{8}{3}$ combinations of three different cow-michals from $(192\ldots 199)$ are okay), for a total of $352\cdot 12+56=4280$.

SAMPLE INPUT:

6 147
1 35
48 103
125 127
154 190
195 235
240 250

SAMPLE OUTPUT:

267188

SCORING

  • Test cases 3-4 satisfy $\max(K,r_N)\le 10^4$.
  • Test cases 5-6 satisfy $K=2^k-1$ for some integer $k\ge 1$.
  • Test cases 7-11 satisfy $\max(K,r_N)\le 10^6$.
  • Test cases 12-16 satisfy $N\le 20$.
  • Test cases 17-21 satisfy no additional constraints.

Problem credits: Benjamin Qi

About Issues

We understand that our problem archive is not perfect. If you find any issues with the problem, including the statement, scoring configuration, time/memory limits, test cases, etc.

You may use this form to submit an issue regarding the problem. A problem moderator will review your issue and proceed it properly.

STOP! Before you submit an issue, please READ the following guidelines:

  1. This is not a place to publish a discussion, editorial, or requests to debug your code. Your issue will only be visible by you and problem moderators. Other users will not be able to view or reply your issues.
  2. Do not submit duplicated issues. If you have already submitted one, please wait for an moderator to review it. Submitting multiple issues will not speed up the review process and might cause your account to be banned.
  3. Issues must be filed in English or Chinese only.
  4. Be sure your issue is related to this problem. If you need to submit an issue regarding another problem, contest, category, etc., you should submit it to the corresponding page.

Active Issues 0

No issues in this category.

Closed/Resolved Issues 0

No issues in this category.