身為馬拉松教練,克勞蒂亞為了即將到來的馬拉松比賽,正在加緊腳步訓練自己的學生。最近她找到了一個很適合訓練的馬拉松賽道,決定接下來在這邊好好訓練學生們的基礎體力。
這條賽道總長度為 $n$ 公里,克勞蒂亞將賽道每一公里劃分為一單位,並且將這一單位的地形,用 a 到 z 中的其中一個字元表示。因此整個賽道可以用一個長度為 $n$ 的字串 $s$ 表示。其中,相同字元代表相似的地形。
另外,這個賽道在 $0,1,2,\dots,n$ 公里處,都有設置休息帳篷。克勞蒂亞與學生們下榻的飯店位於 $0$ 公里處。克勞蒂亞在安排訓練時,會先決定好學生們這次要跑的里程數(整數),然後讓學生從 $0$ 公里處的帳篷開始跑,最後停在終點的休息帳篷。
但由於天候因素,克勞蒂亞在規劃訓練前,也會需要準備一些「備用路線」。具體而言,對於一次長度為 $x$ 公里的訓練,若找得到另一個出發點 $s$ 使得「從 $0$ 公里處開始跑 $x$ 公里」經過的地形與「從 $s$ 公里處開始跑 $x$ 公里」經過的地形依序都是相似的,則 $s$ 公里到 $s+x$ 公里就是一條 $x$ 公里訓練的「備用路線」。根據定義,$0$ ~ $x$ 也是一條長度為 $x$ 的訓練的「備用路線」,這點須特別注意。
克勞蒂亞希望每次訓練都是高品質的練習,因此她要求每次訓練的「起點」的帳篷需要為每位學生準備一瓶水,「終點」的帳篷需要為每位學生準備一份餐盒。由於不知道當天的天氣狀況,所以所有的備用路線的起點及終點也需要分別放與該次參與訓練的學生人數相符的水及餐盒。
克勞蒂亞在規劃一次又一次的訓練同時,也會時不時想知道目前其中一個帳篷裡有幾瓶水和幾個餐盒。請寫一隻程式幫幫她!
(由於只是「規劃」,學生們並不會真的去跑,因此已經放好的水及餐盒都不會被消耗掉;且每多規劃一次訓練,對應帳篷的水及餐盒就會增加相對應的量)
輸入第一行為兩個整數 $n,q$ ,其中 $n$ 為賽道總長度;$q$ 為規劃訓練次數及詢問次數的總和
第二行為一長度為 $n$ 的字串 $s$ ,保證 $s$ 僅由小寫英文字母組成。
接下來 $q$ 行,每行為「規劃一次訓練」或「一次詢問」。
1 x t ,代表克勞蒂亞規劃了一次長度為 $x$ 公里的訓練,這次訓練會有 $t$ 位學生參加,並在所有該放水的地方放水,該放餐盒的地方放餐盒2 y ,代表克勞蒂亞想知道目前 $y$ 公里處的帳篷內有幾瓶水及幾個餐盒。對於每次形如 2 y 的詢問,請輸出兩個整數 $a,b$ ,其中 $a$ 代表水的數量;$b$ 代表餐盒的數量
本題採部份給分:對於每個子題
請注意為了滿足格式要求,你可能仍需將 $a$ 或 $b$ 的位置輸出 $0$ 才能拿到分數。
7 6 abababa 1 1 1 1 3 2 2 4 2 5 1 4 4 2 4
3 0 0 3 3 4
10 5 aaaaaaaaaa 1 3 5 1 4 5 1 5 5 2 0 2 6
15 0 10 15
| No. | Testdata Range | Constraints | Score | 
|---|---|---|---|
| 1 | 0~1 | 範例測資 | 0 | 
| 2 | 0~7 | $1\leq n,q\leq 100$ | 10 | 
| 3 | 0~13 | $1\leq n,q\leq 2000$ | 20 | 
| 4 | 0~23 | 無額外限制 | 70 |