AT_otemae2019_c.カード並べ 2 (Arranging Card 2)
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
ピ太郎拥有两套各包含 N 张卡片的卡片组。第一组称为 A,卡片上依次写有数 a1 到 aN;第二组称为 B,卡片上依次写有数 b1 到 bN。
ピ太郎可以随时按自己的喜好多次重新排列卡片组 B。
接下来,ピ太郎将进行 N 次游戏,每次游戏的规则如下:
- 在第 i (1≤i≤N) 次游戏中,定义数列 Ci 为卡片组 A 的前 i 张卡片所组成的数列。
- 你需要重新排列卡片组 B,使得数列 Ci 在重新排列后的卡片组 B 所组成的序列中非重叠地出现次数最多。
- 注意,数列 Ci 的位置不能重叠。例如,数列
{1 2 1 2 1 2 1 2}可以表示为{(1 2 1 2) (1 2 1 2)},其中数列{1 2 1 2}出现了 2 次,不能将其视作其以任何重叠形式(如{(1 2 1 2) 1 2 1 2}或{1 2 (1 2 1 2) 1 2}等)出现 3 次。 - 你需要输出数列 Ci 在排列后的卡片组 B 中的最大不重叠出现次数,也就是游戏得分。
请编写程序,计算并输出每场游戏中ピ太郎能够获得的最高得分。
输入格式
从标准输入按以下格式读取输入:
N a1 a2 ⋯ aN b1 b2 ⋯ bN
输出格式
输出 N 行。第 i (1≤i≤N) 行表示第 i 次游戏中ピ太郎能获得的最高得分。
输入输出样例
输入#1
5 1 2 3 4 5 1 2 2 1 3
输出#1
2 2 1 0 0
输入#2
5 1 1 1 1 1 1 1 1 1 1
输出#2
5 2 1 1 1
说明/提示
约束条件
- 所有输入均为整数。
- 2≤N≤100000。
- 1≤ai,bi≤100000 (1≤i≤N)。
子任务
- (16 分)N≤8。
- (10 分)ai=1 (1≤i≤N)。
- (24 分)N≤1000。
- (50 分)无其他限制条件。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?