A. Bicycle Chain
- 统计(frac{b_j}{a_i})最大值以及个数。
B. Olympic Medal
- (frac{m_{out}=pi (r_1^2-r_2^2)hp_1}{m_{in}=pi r_2^2hp_2} = frac{A}{B})
-
[r_2^2=frac{r_1^2}{1+frac{Ap_2}{Bp_1}} ]
- (r_1,p_1)取最大值,(p_2)取最小值。
C. Crosses
- 分两种情况讨论:
- 两个矩形形成嵌套,那么假设(c le a, d le b),如果找到一对((a,b))满足(ab=s),那么对应的方案数有$$(n-a+1)(m-b+1)(2(a+1)(b+1)-1)$$((n-a+1)(m-b+1))表示矩形的个数,(2(a+1)(b+1)-1)表示矩形ab包含cd以及cd包含ab的方案数。
- 两个矩形构成十字形,满足(a lt c, d lt b),枚举(a,b,d)之后可以求出(c),那么方案数有((n-c+1)(m-b+1))。
D. Hot Days
- 每个地区单独考虑。
- 若(t_i ge T_i),无论怎么都赔钱,那么只要租一辆车即可,代价$$cost_i+mx_i$$。
- 若(t_i lt T_i),假设租了(c)辆车,代价为$$ccdot cost_i+(n - c(T_i-t_i)+(T_i-t_i))cdot x_i$$
- 这是一个关于(c)的线性函数,那么最小代价必然在两端。这个式子的前提是(c)辆车坐不下所有人的情况,所以加偏移量计算即可。
E. Periodical Numbers
- 考虑计算((2^k, x])范围内满足题意的个数,(2^{k+1} gt x)。
- 记长度为(i)构成串小于等于(x)的串的个数为(g[i])。
- 设长度为(l,n \% l =0)前缀为(t),若(p=ttcdots t le x),则(g[l]+=1),显然如果一个前缀(w le t),构成的串也会小于等于(x)。
- 当然,(w)不能是一个循环串,否则会重复计数,只要枚举(l)的约数(j),然后扣掉相应的方案数即可。