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