QOJ.ac

QOJ

حد الوقت: 3 s حد الذاكرة: 256 MB مجموع النقاط: 100

#367. Ұзын зәулім үй

الإحصائيات

JOI-кунның үйінің жанында кең зәулім үй бар. Зәулім үйде шығыстан батысқа қарай бір қатарда орналасқан $N$ бөлме бар. Ең шығыстағы бөлмеден бастап санағандағы $i$-ші бөлме $i$ бөлмесі деп аталады. $1 \le i \le N-1$ болатын әрбір $i$ үшін $i$ бөлмесі мен $i+1$ бөлмесі дәліз арқылы жалғанған. Дәліздермен екі бағытта да жүруге болады. Бөлмеден дәлізге кіру үшін бізге кілт қажет. Әрбір кілтте түр деп аталатын нөмір бар. Бірнеше кілттің түрі бірдей болуы мүмкін.

$i$ бөлмесінен немесе $i+1$ бөлмесінен олардың арасындағы дәлізге кіру үшін бізге $C_i$ түріндегі кілт қажет.

$i$ бөлмесінде $B_i$ кілт бар. Олардың түрлері — $A_{i,j}$ ($1 \le j \le B_i$). Егер JOI-кун бір бөлмеге кірсе, ол сол бөлмедегі барлық кілттерді жинап алады. Осыдан кейін ол оларды дәліздерге кіру үшін пайдалана алады.

JOI-кун кілттерді қалағанынша көп рет пайдалана алады. Кейде ол бірдей түрдегі бірнеше кілтті алады. Бірақ оған сол түрдегі тек бір ғана кілті болған жағдаймен салыстырғанда, бірдей түрдегі бірнеше кілттің болуы ешқандай ерекше артықшылық бермейді.

Зәулім үйде адасып кететін жағдайдың алдын алу үшін JOI-кун келесі сұраныстарға жауап беретін программа жазуды жоспарлап отыр:

  • Егер JOI-кун ешқандай кілтсіз $x$ бөлмесіне кірсе, ол $y$ бөлмесіне өте ала ма?

Сіздің міндетіңіз — JOI-кунның орнына жоғарыдағы сұраныстарға жауап беретін программа жазу.

Тапсырма

Зәулім үй туралы ақпарат және сұраныстар берілген. Әрбір сұраныс үшін, ол қазір зәулім үйде ешқандай кілтсіз тұр деп есептегенде, бір бөлмеден екінші бөлмеге өте алатынын немесе өте алмайтынын анықтайтын программа жазыңыз.

Кіріс деректер

Стандартты енгізуден келесі деректерді оқыңыз.

  • Кіріс деректердің бірінші жолында зәулім үйдегі бөлмелер санын білдіретін бір бүтін сан $N$ берілген.
  • Кіріс деректердің екінші жолында бос орын арқылы бөлінген $N-1$ бүтін сан $C_1,C_2,\ldots,C_{N-1}$ берілген. Бұл $i$ бөлмесі мен $i+1$ бөлмесін жалғайтын дәлізге кіру үшін $C_i$ түріндегі кілт қажет екенін білдіреді.
  • Келесі $N$ жолдың $i$-ші жолында ($1 \le i \le N$) оң бүтін сан $B_i$ және бос орын арқылы бөлінген $B_i$ бүтін сан $A_{i,1},A_{i,2},\ldots,A_{i,B_i}$ берілген. Бұл $i$ бөлмесінде $B_i$ кілт бар екенін және олардың түрлері $A_{i,j}$ ($1 \le j \le B_i$) екенін білдіреді.
  • Келесі жолда сұраныстар санын білдіретін бір бүтін сан $Q$ берілген.
  • Келесі $Q$ жолдың $k$-шы жолында ($1 \le k \le Q$) бос орын арқылы бөлінген екі бүтін сан $X_k,Y_k$ берілген. Бұл $k$-шы сұраныста JOI-кун қазір ешқандай кілтсіз $X_k$ бөлмесінде тұр деп есептегенде, оның $X_k$ бөлмесінен $Y_k$ бөлмесіне өте алу-алмауы сұралатынын білдіреді.

Шығыс деректер

Стандартты шығаруға $Q$ жол жазыңыз. $Q$ жолдың $k$-шы жолында ($1 \le k \le Q$), егер ол қазір ешқандай кілтсіз $X_k$ бөлмесінде тұр деп есептегенде $X_k$ бөлмесінен $Y_k$ бөлмесіне өте алса, YES сөзі, ал өте алмаса, NO сөзі болуы керек.

Шектеулер

Барлық кіріс деректер келесі шарттарды қанағаттандырады.

  • $2 \le N \le 500\,000$.
  • $1 \le Q \le 500\,000$.
  • $1 \le B_1+B_2+\cdots+B_N \le 500\,000$.
  • $1 \le B_i \le N$ ($1 \le i \le N$).
  • $1 \le C_i \le N$ ($1 \le i \le N-1$).
  • $1 \le A_{i,j} \le N$ ($1 \le i \le N$, $1 \le j \le B_i$).
  • $B_i$ бүтін сан $A_{i,1},\ldots,A_{i,B_i}$ өзара әртүрлі ($1 \le i \le N$).
  • $1 \le X_k \le N$ ($1 \le k \le Q$).
  • $1 \le Y_k \le N$ ($1 \le k \le Q$).
  • $X_k \ne Y_k$ ($1 \le k \le Q$).

Ішкі есептер

Бұл есепте барлығы 4 ішкі есеп бар. Әрбір ішкі есептің ұпайы мен қосымша шектеулері келесідей:

1-ішкі есеп [5 ұпай]

  • $N \le 5\,000$.
  • $Q \le 5\,000$.
  • $B_1+B_2+\cdots+B_N \le 5\,000$.

2-ішкі есеп [5 ұпай]

  • $N \le 5\,000$.
  • $B_1+B_2+\cdots+B_N \le 5\,000$.

3-ішкі есеп [15 ұпай]

  • $N \le 100\,000$.
  • $C_i \le 20$ ($1 \le i \le N-1$).
  • $A_{i,j} \le 20$ ($1 \le i \le N$, $1 \le j \le B_i$).

4-ішкі есеп [75 ұпай]

Қосымша шектеулер жоқ.

Мысалдар

Кіріс деректер 1

5
1 2 3 4
2 2 3
1 1
1 1
1 3
1 4
4
2 4
4 2
1 5
5 3

Шығыс деректер 1

YES
NO
NO
YES

Ескертпе

  • Бірінші сұраныста, егер JOI-кун $2,1,2,3,4$ бөлмелеріне осы ретпен кіріп шықса, ол $4$ бөлмесіне жетеді.
  • Екінші сұраныста ол тек $3,4$ бөлмелеріне ғана бара алады. Ол тек $1,3$ түріндегі кілттерді ғана ала алатындықтан, $2$ бөлмесіне жете алмайды.
  • Үшінші сұраныста ол $5$ бөлмесінен $4$ бөлмесіне өтуге арналған $4$ түріндегі кілтті ала алмайды. Сондықтан ол $5$ бөлмесіне жете алмайды.
  • Төртінші сұраныста, егер ол $5,4,3$ бөлмелеріне осы ретпен кіріп шықса, ол $3$ бөлмесіне жетеді.

Кіріс деректер 2

5
2 3 1 3
1 3
1 2
1 1
1 3
1 2
4
1 3
3 1
4 3
2 5

Шығыс деректер 2

NO
YES
NO
YES

Кіріс деректер 3

7
6 3 4 1 2 5
1 1
1 5
1 1
1 1
2 2 3
1 4
1 6
3
4 1
5 3
4 7

Шығыс деректер 3

YES
NO
YES

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.