A15576 | Flexible String
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
You have a string $a$ and a string $b$ . Both of the strings have length $n$ . There are at most $10$ different characters in the string $a$ . You also have a set $Q$ . Initially, the set $Q$ is empty. You can apply the following operation on the string $a$ any number of times:
- Choose an index $i$ ( $1\leq i \leq n$ ) and a lowercase English letter $c$ . Add $a_i$ to the set $Q$ and then replace $a_i$ with $c$ .
For example, Let the string $a$ be " $\tt{abecca}$ ". We can do the following operations:
- In the first operation, if you choose $i = 3$ and $c = \tt{x}$ , the character $a_3 = \tt{e}$ will be added to the set $Q$ . So, the set $Q$ will be $\{\tt{e}\}$ , and the string $a$ will be " $\tt{ab\underline{x}cca}$ ".
- In the second operation, if you choose $i = 6$ and $c = \tt{s}$ , the character $a_6 = \tt{a}$ will be added to the set $Q$ . So, the set $Q$ will be $\{\tt{e}, \tt{a}\}$ , and the string $a$ will be " $\tt{abxcc\underline{s}}$ ".
You can apply any number of operations on $a$ , but in the end, the set $Q$ should contain at most $k$ different characters. Under this constraint, you have to maximize the number of integer pairs $(l, r)$ ( $1\leq l\leq r \leq n$ ) such that $a[l,r] = b[l,r]$ . Here, $s[l,r]$ means the substring of string $s$ starting at index $l$ (inclusively) and ending at index $r$ (inclusively).
- Choose an index $i$ ( $1\leq i \leq n$ ) and a lowercase English letter $c$ . Add $a_i$ to the set $Q$ and then replace $a_i$ with $c$ .
For example, Let the string $a$ be " $\tt{abecca}$ ". We can do the following operations:
- In the first operation, if you choose $i = 3$ and $c = \tt{x}$ , the character $a_3 = \tt{e}$ will be added to the set $Q$ . So, the set $Q$ will be $\{\tt{e}\}$ , and the string $a$ will be " $\tt{ab\underline{x}cca}$ ".
- In the second operation, if you choose $i = 6$ and $c = \tt{s}$ , the character $a_6 = \tt{a}$ will be added to the set $Q$ . So, the set $Q$ will be $\{\tt{e}, \tt{a}\}$ , and the string $a$ will be " $\tt{abxcc\underline{s}}$ ".
You can apply any number of operations on $a$ , but in the end, the set $Q$ should contain at most $k$ different characters. Under this constraint, you have to maximize the number of integer pairs $(l, r)$ ( $1\leq l\leq r \leq n$ ) such that $a[l,r] = b[l,r]$ . Here, $s[l,r]$ means the substring of string $s$ starting at index $l$ (inclusively) and ending at index $r$ (inclusively).
输入格式
Each test contains multiple test cases. The first line contains the number of test cases $t$ ( $1 \le t \le 10^4$ ). The description of the test cases follows.
The first line contains two integers $n$ and $k$ ( $1\leq n \leq 10^5$ , $0\leq k\leq 10$ ) — the length of the two strings and the limit on different characters in the set $Q$ .
The second line contains the string $a$ of length $n$ . There is at most $10$ different characters in the string $a$ .
The last line contains the string $b$ of length $n$ .
Both of the strings $a$ and $b$ contain only lowercase English letters. The sum of $n$ over all test cases doesn't exceed $10^5$ .
The first line contains two integers $n$ and $k$ ( $1\leq n \leq 10^5$ , $0\leq k\leq 10$ ) — the length of the two strings and the limit on different characters in the set $Q$ .
The second line contains the string $a$ of length $n$ . There is at most $10$ different characters in the string $a$ .
The last line contains the string $b$ of length $n$ .
Both of the strings $a$ and $b$ contain only lowercase English letters. The sum of $n$ over all test cases doesn't exceed $10^5$ .
输出格式
For each test case, print a single integer in a line, the maximum number of pairs $(l, r)$ satisfying the constraints.
输入输出样例
输入 #1
6 3 1 abc abd 3 0 abc abd 3 1 xbb xcd 4 1 abcd axcb 3 10 abc abd 10 3 lkwhbahuqa qoiujoncjb
输出 #1
6 3 6 6 6 11
In the first case, we can select index $i = 3$ and replace it with character $c = \tt{d}$ . All possible pairs $(l,r)$ will be valid.
In the second case, we can't perform any operation. The $3$ valid pairs $(l,r)$ are:
1. $a[1,1] = b[1,1] =$ " $\tt{a}$ ",
2. $a[1,2] = b[1,2] =$ " $\tt{ab}$ ",
3. $a[2,2] = b[2,2] =$ " $\tt{b}$ ".
In the third case, we can choose index $2$ and index $3$ and replace them with the characters $\tt{c}$ and $\tt{d}$ respectively. The final set $Q$ will be $\{\tt{b}\}$ having size $1$ that satisfies the value of $k$ . All possible pairs $(l,r)$ will be valid.
In the second case, we can't perform any operation. The $3$ valid pairs $(l,r)$ are:
1. $a[1,1] = b[1,1] =$ " $\tt{a}$ ",
2. $a[1,2] = b[1,2] =$ " $\tt{ab}$ ",
3. $a[2,2] = b[2,2] =$ " $\tt{b}$ ".
In the third case, we can choose index $2$ and index $3$ and replace them with the characters $\tt{c}$ and $\tt{d}$ respectively. The final set $Q$ will be $\{\tt{b}\}$ having size $1$ that satisfies the value of $k$ . All possible pairs $(l,r)$ will be valid.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted