迫切希望在郡县集市上赢得最佳奶牛摄影师的 Farmer John 正在尝试为他的 NN 头奶牛拍摄一张完美的照片(2≤N≤2⋅10^5,N 为偶数)。
Farmer John 拥有两种品种的奶牛:更赛牛(Guernsey)和荷斯坦牛(Holstein)。为了使他的照片尽可能地艺术,他想把他的奶牛排成一排,使得尽可能多的更赛牛处于队列中的偶数位置(队列中的第一个位置是奇数位置,下一个是偶数位置,以此类推)。由于他与他的奶牛缺乏有效的沟通,他可以达到目的的唯一方法是让他的奶牛的偶数长的「前缀」进行反转(一个前缀指的是对于某个位置 jj,从第一头奶牛到第 jj 头奶牛范围内的所有奶牛)。
请计算 Farmer John 达到目的所需要的最小反转次数。
输入格式(从终端 / 标准输入读入):
输入的第一行包含 N 的值。
第二行包含一个长为 N 的字符串,给出初始时所有奶牛从左到右的排列方式。每个 'H' 代表一头荷斯坦牛,每个 'G' 代表一头更赛牛。
输出格式(输出至终端 / 标准输出):
输出一行,包含达到目的所需要的最小反转次数。
输入样例:
14 GGGHGHHGHHHGHG
输出样例:
1
在这个例子中,只需反转由前六头奶牛组成的前缀即可。
GGGHGHHGHHHGHG (反转前) -> HGHGGGHGHHHGHG (反转后)
在反转之前,四头更赛牛处于偶数位置。反转后,六头更赛牛处于偶数位置。不可能使得超过六头更赛牛处于偶数位置。
测试点性质:
供题:Aryansh Shrivastava
奶牛 Bessie 躲在数轴上的某处。Farmer John 的 N 头奶牛(1≤N≤1000)中的每头奶牛都有一条信息要分享:第 i 头奶牛说 Bessie 躲在小于或等于 pi 的某个位置,或者说 Bessie 躲在大于或等于 pi 的某个位置(0≤pi≤10^9)。
不幸的是,可能不存在躲藏位置与所有奶牛的回答均一致,这意味着并非所有奶牛都在说真话。计算在撒谎的奶牛的最小数量。
输入格式(从终端 / 标准输入读入):
输入的第一行包含 N。
以下 N 行每行包含字符 L 或 G,之后是一个整数 pi。L 表示第 i 头奶牛说 Bessie 的躲藏位置小于或等于 pi,而 G 表示第 i 头奶牛说 Bessie 的躲藏位置大于或等于 pi。
输出格式(输出至终端 / 标准输出):
输出在撒谎的奶牛的最小数量。
输入样例:
2 G 3 L 5
输出样例:
0
有可能没有奶牛在撒谎。
输入样例:
2 G 3 L 2
输出样例:
1
至少一头奶牛在撒谎。
供题:Jesse Choe
总是热衷于培养新的爱好的奶牛 Bessie 正在学习如何转化金属。对于 1≤ i ≤ N ≤100,她有 ai(0≤ai≤10^4)单位的金属 i。此外,她知道 K(1≤K<N)个配方,她可以融合若干种金属各一单位,制造一单位编号大于所有被融合金属的金属。另外保证,对于每种金属,Bessie 最多知道一种制造该金属的配方。
计算经过一系列转化后,Bessie 可能拥有的金属 N 的最大单位数。
输入格式(从终端 / 标准输入读入):
输入的第一行包含 N。
第二行包含 N 个整数 ai。
第三行包含 K。
以下 K 行每行包含两个整数 L and M(M≥1),随后是 M 个整数。后 M 个整数表示配方中用于制造一单位金属 L 所需要被融合的金属。输入保证 LL 大于这 M 个数。
输出格式(输出至终端 / 标准输出):
输出在应用一系列零次或多次转化后,Bessie 可能拥有的金属 N 的最大单位数。
输入样例:
5 2 0 0 1 0 3 5 2 3 4 2 1 1 3 1 2
输出样例:
1
在这个例子中,以下是一种最优的转化方式:
现在 Bessie 还有一单位金属 1 和一单位金属 5。她无法再制造更多的金属 5。
测试点性质:
供题:Nick Wu