A. System of Equations
- (a)的范围在(sqrt n)内,所以暴力枚举即可。
B. Hometask
- 需要被2、5整除,所以末位必然为0,如果0没有出现,则直接返回-1。
- 在不考虑被3整除的情况下,为了凑出最大数,必然是从9到0的顺序填数。
- 设位数和模3的值为(sum),如果(sum=0),显然当前数即答案,否则考虑去除一些数使得数被3整除。
- 因为(sum e 0),所以(sum=1 or sum = 2),显然去除的数不会超过2个。优先考虑去除一个数(x),需要满足(x \% 3 = sum),且越小越好;去除两个数时((x, y)),需要满足((x+y)\%3=sum),且两个值越小越好。
C. Game
- 游戏顺序必然是(cdots o 1 o 2 o 3 o 1 o cdots)
- 那么只要枚举起点,取最小值即可。
D. Numbers
- (f(i,j))表示由前i个数凑成长度为j的方案数。
- 每次转移时,当前数的个数需要大于等于(a[i])。
- 由于不能有前导0,所以填0时需要去掉首位这个位置。
E. Relay Race
- (dp(i,j,k))表示走了i步后,第一个人的横坐标为j,第二个人为k的最大值。
- 转移时需要判断两个人是否在同一格子,即(j==k)。