A. AB Balance
题解
显然,如果开头的字母和结尾的字母是同样的字母则AB(s)必然等于BA(s)。
代码
Java
C++
B. Update Files
题解
在用尽k条网线之前,有多少电脑有文件就复制多少。如果已有文件的电脑超过k台,就每次复制k个文件即可。
代码
Java
C++
C. Banknotes
题解
很明显,我们希望尽可能多的实用较低位的值。因此我们根据a[i]和a[i+1]的值计算对应的available[i]:$available[i]=10^{a[i+1]-a[i]}-1$。
以a[2]=3, a[3]=5为例,那么1000最多可以用99张。一旦用到100张,就可以用一张100000替换。
只是对于a[1]来说,虽然available[i]=999。但是因为要不能凑出来,所以对于i=1最多只能使用available[1]-1张。
另外如果available[1]本身就比k大了,那么直接用k张1即可。
代码
Java
C++
E. Arena
这个题目可以根据其数据规模直接推测出最终的时间复杂度,于是就能很自然的想到解法。