Codeforces Round #132 (Div. 2)
A. Bicycle Chain
- 统计(frac{b_j}{a_i})最大值以及个数。
B. Olympic Medal
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),然后扣掉相应的方案数即可。
原文地址:https://www.cnblogs.com/mcginn/p/6002064.html