A
时间限制 1s,内存限制 512MiB。
题目描述
你有一个长度为 n的序列 ai 和两个数 x,y。
现在你需要选择两个不相交的区间 [l1,r1],[l2,r2],将 [l1,r1] 中的所有数按位或上 x,[l2,r2]中的所有数按位或上 y。
注意,区间长度至少为 1。
求所有元素的和的可能最大值。
输入格式
本题使用多组数据。
第一行一个正整数 t 表示数据组数。
对于每组数据:第一行三个整数 n,x,y,含义见题目描述。
第二行 n 个整数 a1,a2,⋯,an表示序列 a。
1≤t≤5,2≤n≤5×10^5,0≤x,y,ai<2^30。
每个测试点 n 的总和不超过 5×10^5。
输出格式
对于每组数据,输出一行一个整数表示操作后元素和的最大值。
输入输出样例 #1
输入 #1
2
4 1 2
4 3 6 7
5 3 4
7 5 8 2 4
输出 #1
23
37
说明/提示
对于第 1组数据,一种最优解是选择 l1=r1=3,l2=r2=1,操作后序列变为 [6,3,7,7],元素和为 23,可以证明这是元素和的最大可能值。
---
B
时间限制 2s,内存限制 512MiB。
题目描述
给定一个长度为 n的序列 a,求这个序列是否能被划分为若干个连续段(数量不为 1),使每一段中的所有数的异或和均相等。
输入格式
多测,第一行输入数据组数 T。
对于每一组数据:
第一行一个整数 n。第二行 n个整数表示数组 a。
1≤T≤100,2≤n≤2×10^5,0≤ai≤10^9。
每个测试点 n 的总和不超过 2×10^5。
输出格式
如果这个序列满足要求的,输出 Yes,否则输出 No。
每组数据之间以换行分隔。
输入输出样例 #1
输入 #1
3
7
5 2 0 1 3 1 4
10
2 2 3 3 4 4 5 5 6 6
2
2 4
输出 #1
Yes
Yes
No
说明/提示
对于第 1 组数据,可以划分为 [5,2,0],[1,3,1,4]。对于第 2组数据,可以划分为 [2,2],[3,3],[4,4],[5,5],[6,6]。对于第 3组数据,可以证明无法满足要求。
---
C
时间限制 1s,内存限制 512MiB。
题目描述
从一个长度为 n的序列中找出一个子序列为公差不为 0的长度为 k的等差数列,保证有解(k=1时任意一个元素组成的数列都是解)。请输出这个等差数列。
输入格式
多组数据。第一行一个整数 t表示数据组数。
接下来 t次重复:
第一行,两个整数 n和 k,表示序列长度与等差序列长度。
第二行,n 个整数 ai,表示这个序列。
保证 n/2≤k≤n,输入的 ai 严格单调递增。
1≤t≤5,2≤k≤n≤10^5,1≤ai≤10^9。
输出格式
一行 k个整数,表示等差数列。如果有多组解,输出任意一组。
输入输出样例 #1
输入 #1
3
3 2
1 4 5
6 4
3 4 5 6 7 9
7 4
1 3 5 6 9 11 13
输出 #1
4 5
3 5 7 9
1 5 9 13
---
D
时间限制 1s,内存限制 512MiB。
题目描述
给定一棵以 1 为根,有 n 个点的树(节点编号从 1 开始)。现在,你需要从树上选出不相同的 k 个点,令它们编号的集合为 S。
定义集合 T={lca(x,y)|x,y∈S}。请注意,x=y 是可能的。你需要最大化集合 T 的大小,并给出一组可行的构造方案。
输入格式
本题使用多组数据。
第一行一个正整数 t 表示数据组数。
对于每组数据:第一行两个整数 n,k,含义见题目描述。
第二行 n−1 个整数 f2,f3,f4,⋯,fn。其中 fi 表示点 i 的父亲是 fi。
1≤t≤10,2≤k≤n≤10^5。
输出格式
对于每组测试数据:第一行一个整数表示集合 T 的最大大小。
第二行输出 k 个整数表示你选出的 k 个点,若有多种方案,输出任意一个即可。k 个点不必按顺序输出。
输入输出样例 #1
输入 #1
2
8 3
1 1 2 2 2 3 7
10 5
1 1 2 4 3 5 7 6 6
输出 #1
5
3 4 5
7
2 3 4 9 10
评论
暂无评论
发表评论
可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。
活跃度
近 53 周 · 共 294 次
11月
12月
1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
一
三
五
活跃程度
