【问题描述】
小蓝在无聊时随机生成了一个长度为 n 的整数数组,数组中的第 i 个数为
ai,他觉得随机生成的数组不太美观,想把它变成回文数组,也是就对于任意
i ∈ [1, n] 满足 ai = an−i+1 。小蓝一次操作可以指定相邻的两个数,将它们一起加
1 或减 1 ;也可以只指定一个数加 1 或减 1 ,请问他最少需要操作多少次能把
这个数组变成回文数组?
试题 E: 吊坠
【问题描述】
小蓝想制作一个吊坠,他手上有 n 个长度为 m 的首尾相连的环形字符串
{s1, s2, · · · , sn} ,他想用 n − 1 条边将这 n 个字符串连接起来做成吊坠,要求所
有的字符串连完后形成一个整体。连接两个字符串 si
, sj 的边的边权为这两个字
符串的最长公共子串的长度(可以按环形旋转改变起始位置,但不能翻转),小
蓝希望连完后的这 n − 1 条边的边权和最大,这样的吊坠他觉得最好看,请计算
最大的边权和是多少。
试题 F: 砍柴
【问题描述】
小蓝和小乔正在森林里砍柴,它们有 T 根长度分别为 n1, n2, · · · , nT 的木
头。对于每个初始长度为 n 的木头,小蓝和小乔准备进行交替砍柴,小蓝先出
手。每次砍柴时,若当前木头长度为 x ,需要砍下一截长度为 p 的木头,然后
换另一个人继续砍,其中 2 ≤ p ≤ x 且 p 必须为质数。当轮到某一方时 x =1 或
x =0 ,它就没法继续砍柴,它就输了。它们会使用最优策略进行砍柴。请对每
根木头判断是小蓝赢还是小乔赢,如果小蓝赢请输出 1 (数字 1),如果小乔赢
请输出 0 (数字 0)。
试题 H: 最大异或结点
【问题描述】
小蓝有一棵树,树中包含 N 个结点,编号为 0,1,2, · · · , N − 1 ,其中每个
结点上都有一个整数 Xi 。他可以从树中任意选择两个不直接相连的结点 a 、b
并获得分数 Xa ⊕ Xb ,其中 ⊕ 表示按位异或操作。
请问小蓝可以获得的最大分数是多少?