4个小时,下来感觉,迷迷糊糊的(感觉写的题和没写一样,要么暴力,要么写写if els,感觉没有什么体验感。前两个填空题都是签到,第二个填空写的暴力,感觉跑了5分钟左右,其实是可以前缀和优化的,第三个题就不会那个输入了,后面迷糊的有点忘了,用的学校机房的电脑(悲,用着不太习惯,到9点整才解除电脑控屏,到那时我才把那个idea,加载数据qwq..还要调式那个idea,

(图片来源网络,侵删)
第一题:求20 24的倍数的第202420242024项是什么?
数学:其实就是除2乘24,
private static void solve()throws IOException { long n=24,m=101210121012L; pw.println(n*m); }
第二题:
题意不好读,其实题意大概是假设一个数字n其数位有k,用前k位累加就是当前的一位的数值,一开始的k位,是n这个数字按位拆开,赛时写的代码依托答辩,

(图片来源网络,侵删)
import java.util.*; import java.io.*; public class Main { static int N=(int)1e6+7; static int[] a; static int n,m,q,k; static List[] g=new ArrayList[N]; static boolean f(int n){ int cnt=0,t=n; while(t>0){ cnt++; t/=10; } int[] nums=new int[N]; t=0; int m=n; while(m>0){ t=t*10+m%10; m/=10; } for(int i=0;i0;c--,j--){ nums[i]+=nums[j]; } if(nums[i]==n) { for(int j=0;jn){ return false; } } } private static void solve()throws IOException { int mx=(int)1e7; for(int i=mx;i>=0;i--){ if(f(i)){ pw.println(i); break; } } /* 7 9 1 3 8 3 7 38 69 129 257 511 1014 2025 4043 8048 16027 31925 63593 126675 252336 502647 1001251 1994454 3972881 7913837 7913837 */ } public static void main(string[] args)throws IOException { int T=1; for(int i=1;i=k2){ //二分凑 4卓 b4-=k2; ans+=k2*4; c2-=2*k2; } else{ ans+=b4*4; c2-=2*b4; b4=0; } if(b4>=c3){ ans+=3*c3; b4-=c3; c3=0; } else{ ans+=b4*3; c3-=b4; b4=0; } int k=b4*2+b6*3; ans+=Math.min(k,c2); pw.println(ans); } /* 2 3 0 1 0 1 0 2 2 1 1 6 10 */ } public static void main(String[] args)throws IOException { int T=1; for(int i=1;i