Кесіндіге қосу


Шешімді жөнелту

Ұпайлар: 1
Уақыт шектеуі: 2.0s
Жад шектеуі: 256M

Author:
Problem type

Сізге n бос жиын S1,S2,,Sn берілген. Екі түрлі сұрауды өңдеу қажет:

  1. Сұрау түрі 1 l r x:

    • l-ден r-ге дейінгі (қоса алғанда) барлық жиындарға элемент x-ті қосу керек.

    • Басқаша айтқанда, әрбір i үшін l-ден r-ге дейін: SiSi{x}.

  2. Сұрау түрі 2 l r:

    • [l,r] кесіндісіндегі барлық жиындардың қиылысу мөлшерін есептеу қажет: |i=lrSi|.

    • [l,r] кесіндісіндегі барлық жиындардың бірігу мөлшерін есептеу қажет: |i=lrSi|.

Осылайша, екінші түрдегі әрбір сұрау үшін екі санды шығару қажет: |i=lrSi|және|i=lrSi|.

Енгізу

Бірінші жолда екі бүтін сан n және q (1n,q100000) берілген — жиындардың саны және сұраулардың саны сәйкесінше. Келесі q жолында сұраулар сипатталған. Әрбір сұрау бір бүтін саннан t басталады:

  • Егер t=1, онда одан кейін үш бүтін сан l, r, x беріледі, мұнда 1lrn және 1xn.

  • Егер t=2, онда одан кейін екі бүтін сан l, r беріледі, мұнда 1lrn.

Шығару

Әрбір сұрау үшін екі санды шығарыңыз — қиылысу мөлшері және кесіндідегі барлық жиындардың бірігу мөлшері.

Мысалдар

Енгізу 1
Көшіру
3 6
1 1 2 1
1 2 3 2
2 1 3
2 1 2
1 1 3 3
2 1 3
Жауап 1
Көшіру
0 2
1 2
1 3

Пікірлер

Қазіргі уақытта ешқандай пікір жоқ.