- محدودیت زمان: ۲ ثانیه
- محدودیت حافظه: ۵۱۲ مگابایت
به یک رشته مثل $s$ یک جملهی جبری میگوییم هرگاه فقط از بتوان آن را به دو قسمت مثل $ab$ تقسیم کرد که $a$ یک عدد طبیعی و $b$ رشتهای از حروف کوچک انگلیسی باشد. برای مثال رشتههای 3x
و 115ali
عبارت جبری هستند ولی 1x2y
،12
و xy
عبارت جبری نیستند.
حال به شما یک رشته به طول $n$ مثل $s$ از حروف کوچک انگلیسی (کاراکترهای a
تا z
) و ارقام (کاراکترهای 1
تا 9
) داده میشود و از شما $q$ درخواست میشود، در خواستها دو نوع دارند:
- در درخواست نوع اول، دو عدد $l$ و $r$ که $1 \leq l \leq r \leq n$ است داده میشود و تعداد زیررشتههای متوالی $s_l, s_{l+1}, \dots, s_r$ آن که عبارت جبری هستند را چاپ کنید.
- در درخواست نوع دوم، عدد $i$ و کاراکتر $c$ به شما داده میشود و از شما میخواهیم $s_i$ را به $c$ تغییر دهید.
منظور از زیررشتهی متوالی یک رشته مثل $s$، رشتهای است که از حذف کردن تعدادی (حتی صفر) کاراکتر از ابتدا و انتهای آن بدست بیاید. برای مثال ode
، cup
زیررشتهی متوالی codecup
است ولی ccup
و puc
زیررشتهی متوالی آن نیست.
ورودی
در سطر اول دو عدد صحیح و مثبت $n$ و $q$ داده میشود. $$1 \leq n, q \leq 200 , 000$$
در سطر دوم ورودی رشتهی $s$ شامل $n$ کاراکتر از حروف کوچک و ارقام به طول $n$ داده میشود. در $q$ سطر بعدی در هر سطر یا سه عدد 1
و $l$ و $r$ داده میشود که نشان دهندهی درخواستی از نوع اول است.
$$1 \leq l \leq r \leq n$$
یا دو عدد 2
و $i$ و کاراکتر c
داده میشود که نشان دهندهی درخواست نوع دوم است.
$$1 \leq i \leq n$$ $$c \in {a, b, \dots, z, 1, 2, \dots, 9}$$
خروجی
در سطرهای جداگانه، به ترتیب پاسخ پاسخ درخواستهای نوع اول را چاپ کنید. تضمین میشود حداقل یک درخواست از نوع اول وجود دارد.
مثالها
ورودی نمونه ۱
10 6
183xa11u7z
1 1 5
2 2 x
1 1 5
1 5 9
2 9 8
1 1 10
خروجی نمونه ۱
6
3
2
6
توضیح نمونه ۱
در درخواست اول تعداد زیررشتههای جبری 183xa
پرسیده شده که برابر ۶ است (3x
، 3xa
، 83x
، 83xa
، 183x
و 183xa
).
در درخواست دوم رشتهی $s$ به 1x3xa11u7z
تبدیل میشود.
در درخواست سوم تعداد زیررشتههای جبری 1x3xa
پرسیده شده که برابر ۳ است (1x
، 3x
و 3xa
).
در درخواست چهارم تعداد زیررشتههای جبری a11u7
پرسیده شده که برابر ۲ است (1u
و 11u
).
در درخواست پنجم رشتهی $s$ به 1x3xa11u9z
تبدیل میشود.
در درخواست ششم تعداد زیررشتههای جبری 1x3xa11u9z
پرسیده شده که برابر ۶ است (1x
، 3x
، 3xa
، 1u
، 11u
و 9z
).
ارسال پاسخ برای این سؤال