📜  GOCC15:Google 的在线实习挑战赛(印度)

📅  最后修改于: 2021-11-10 06:19:36             🧑  作者: Mango

我是通过 https://careers.google.com/jobs/results/Google 网站了解到这个机会的。和我的简历申请的一样。两周后收到邮件邀请参加编码轮次。该邮件具有唯一 ID,并在第一轮编码当天(2020 年 8 月 29 日)获得了密码(用于登录)。该时段于 IST 的 15:00 至 17:00 开放。

在 HackerEarth 平台上进行了一轮编码。测试时间为 60 分钟,包括两个编码问题,每 30 分。我部分解决了第二个问题,该解决方案不足以满足具有大量输入的测试用例。

特殊字符串:给定一个由小写拉丁字母 az 组成的字符串S。找出必须更改以使 S 特殊的最少字符数。甲字符串S被认为是特殊的,当且仅当对于所有(S [I],S [J]),其中(1≤I≤N / 2)和(N / 2 + 1≤Ĵ≤N)中的一个以下条件为真

  • S[i] > S[j]
  • S[i] < S[j]
  • S[i] = S[j]

S[i] 表示字符串S 的第 i 个字符(基于 1 的索引)。

输入格式:

  • 第一行包含一个整数 T,表示测试用例的数量。
  • 每个测试用例的第一行包含一个整数 N,表示 S 的长度。
  • 每个测试用例的第二行包含一个字符串S。

输出格式:在新行中打印一个整数,表示每个测试用例所需的最小更改次数。

约束

1≤T≤5

1 ≤ N ≤ 10 3

N 是偶数

例子 :

Input:  1
    6
    aababc 
Output: 2

说明:更改 S[4] = ‘d’(基于 1 的索引)更改 S[5] = ‘d’ 新字符串= ‘aabddc’ 现在所有对 (S[i],S[j]) 都满足第二个条件, S[i] < S[j]

生成序列:给定两个长度为 N 的字符串A 和长度为 M 的字符串B。这些字符串包含小写英文字母。您还获得了一个整数 K。您可以将字符串A 中x的字符更改为任何其他字符y 。这种转换的成本是abs ( ASCII( x )- ASCII( y ) )。求使 A 和 B 的最长公共子序列 (LCS) 的长度至少为 K 所需的最小成本。

笔记:

  • A字符串可以通过删除 A 中的零个或多个字符来获得。
  • A 和 B 的两个字符串的最长公共子序列是 A 和 B 的子序列,并且在作为 A 和 B 的子序列的所有字符串中具有最大长度,这将是两个提供的字符串的多个子序列,例如 vera 和吃的ea

输入格式:

  • 第一行包含一个整数 T,表示每个测试用例的测试用例数。
  • 每个测试用例的第一行包含三个以空格分隔的整数 N、M 和 K。
  • 每个测试用例的下一行包含一个字符串A。
  • 每个测试用例的下一行包含一个字符串B。

输出格式:对于每个测试用例,在新行中打印所需的最低成本。

约束

1 ≤ T ≤ 10

1≤N,M≤200

0 ≤ K ≤ min ( N, M )

例子:

Input:  2
    5 4 3
    abcba
    acyx
    3 3 3
    abc
    abc
Output: 22
    0