P5821 【L&K R-03】密码串匹配
题目背景
众所周知,小 L 很喜欢用 $123321$ 做密码。每次登陆 Codeforces,都会看见显眼的一行提示:
```text
Your password is extremely weak or has been leaked . Please, change it ASAP.
(see https://haveibeenpwned.com/)
```
题目描述
在被机惨之后,小 L 痛定思痛,决定使用更安全的密码。小 L 设计出了一个可能长达 $200,000$ 位的仅由小写字母构成的密码,并保证没有人能记住,猜出或试出(包括小 L 自己)。
为了防止自己忘记整串密码(不用防止了,已经忘记了),小 L 编写了一个程序,可以存储小 L 的密码串 $T$,但是不能直接输出(因为这个程序可能会被他人使用),小 L 第一次会根据记忆还原出长度为 $l$ 的一个字符串 $P$,后面会根据程序的输出修改 $P$ 的某一位,这个程序可以求出当前猜测串 $P$ 与密码串 $T$ 的相同长度的字串的 **失配度** 。
定义字符 `a` 的值为 $1$,字符 `b` 的值为 $2$,以此类推,字符 `z` 的值为 $26$。定义两个字符串 $s,t$ 的失配度为对应位置上的值相减后的平方。
现在,小 L 想知道他的程序是否正确,请你也编写一个类似的程序。
输入格式
输入的第一行为三个数 $n,l,m$,分别表示密码串 $T$ 的长度 $n$,猜测串 $P$ 的长度 $l$,和操作次数 $m$。
接下来的两行有两个字符串,分别为 $T$ 和 $P$。
接下来的 $m$ 行,每行的第一个整数为 $op$,表示操作的类型:
若 $op=1$,接下来有一个整数 $x$,表示要求 $P$ 和从 $T$ 的第 $x$ 位开始长度为 $l$ 的字串的失配度;
若 $op=2$,接下来有一个整数 $x$ 和一个字符 $c$,表示修改 $P$ 的第 $x$ 位,使其等于 $c$。
输出格式
对于每个 $1$ 操作,输出一行,为所求值。
说明/提示
**请注意本题特殊的时间限制。**
**本题数据规模大,请注意常数优化。**
为了防止题目过于卡常,本题 **提供 [八聚氧](https://www.luogu.com.cn/paste/ky1fh8zk)** ,直接加在代码最前提交即可。
本题中所有编号从 $1$ 开始。
- Subtask \#1:$30$ 分,保证 $n,m\le 5\times 10^3$;
- Subtask \#2:$30$ 分,保证没有 $2$ 操作;
- Subtask \#3:$40$ 分,保证 $n,m\le 2\times 10^5$。
对于 $100\%$ 的数据,保证 $1\le l\le n,1\le x$。
对于所有 $1$ 操作,保证 $x-1+l\le n$。
对于所有 $2$ 操作,保证 $x\le l$。
### 样例解释
$(a-a)^2+(n-n)^2+(g-g)^2+(r-e)^2+(y-r)^2=13^2+7^2=218$。
$(a-a)^2+(m-m)^2+(a-g)^2+(n-e)^2+(g-r)^2=6^2+9^2+11^2=238$。