A
若序列存在则,保留的序列b乘积一定小于2023且能被2023整除。又由于可以删除1,则将删去的数看为一个数乘一堆1,保证必须用的数最小
B
1<=a<b<x
lcm(a,b)的最大除数为a,b,但lcm可能等于b,所以在乘b/gcd(a,b)
原理从示例中推出
C
若a,b同奇偶则值为a+b;否则值为a+b-1
进一步来说
1.a与b同为偶数,则结果不变,偶数个数-1,奇数不变
2.a与b同为奇数,则结果不变,奇数个数-2,偶数+1
3.a与b不同奇偶,则结果-1,奇数个数-1,偶数不变
对于玛莎,要求结果尽可能大,选1和2都可以。但要减少情况,满足不同奇偶的数减少,即奇偶中一方减少,一方增加,最终只剩一方。所以选2
而奥莉,要求结果尽可能小,选3
因为玛莎先手所以,一定会产生一个偶数给后手用,所以奥莉只需序列中有奇数就可以-1
但有时奇数个数只有1个,轮到玛莎也只能选3,之后奇数全消,结果不变
所以正常一轮减3个奇数,当只有两个奇数数时不减,当只有一个奇数时减1,当只有一个数时直接输出
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int T=input.nextInt();
while(true) {
if(T==0) break;
int n=input.nextInt();
long[] a=new long[n+1];
long sum=input.nextLong();
long num=0;
if(sum%2!=0)num++;
System.out.print(sum+" ");
for(int i=2;i<=n;++i) {
long x=input.nextLong();
if(x%2!=0)num++;
sum+=x;
if(num%3==0) {
System.out.print(sum-(num/3)+" ");
}else if(num%3==2) {
System.out.print(sum-(num/3)+" ");
}else {
System.out.print(sum-(num/3)-1+" ");
}
}System.out.println();
T--;
}
}
}
D
发现若x满足n位,则x*100满足n+2位
所以所有的n位长度平方数都可以由n-2位的数*100再加上加入两个数。
由上可知在中间数的左右两边加0仍为平方数,所以再加上1……060……9和9……06……1即可
题目声明对于给出的n一定有解,所以n不为偶数
所以对于所有奇数都可以由n=3的基平方数得到,即为169,961,196
对于n=1特判
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int T=input.nextInt();
while(true) {
if(T==0) break;
int n=input.nextInt();
if(n==1) {
System.out.println("1");
T--;
continue;
}
System.out.print("196");
for(int i=4;i<=n;++i)System.out.print("0");
System.out.println();
int t=n-1;
int o=0;
while(t!=0) {
t-=2;
System.out.print("1");
for(int i=1;i<=o;++i)System.out.print("0");
System.out.print("6");
for(int i=1;i<=o;++i)System.out.print("0");
System.out.print("9");
for(int i=3+2*o+1;i<=n;++i)System.out.print("0");
System.out.println();
System.out.print("9");
for(int i=1;i<=o;++i)System.out.print("0");
System.out.print("6");
for(int i=1;i<=o;++i)System.out.print("0");
System.out.print("1");
for(int i=3+2*o+1;i<=n;++i)System.out.print("0");
System.out.println();
o++;
}
T--;
}
}
}