BZOJ1045 糖果传递
题意简述:
有n个小朋友坐成一圈,每人有$a[i]$个糖果每人只能给左右两人传递糖果,每人每次传递一个糖果代价为1,求使所有人获得均等糖果的最小代价
……有n个小朋友坐成一圈,每人有$a[i]$个糖果每人只能给左右两人传递糖果,每人每次传递一个糖果代价为1,求使所有人获得均等糖果的最小代价
……给出正整数$n$和$k$ 计算$j(n, k)=k \mod 1 + k \mod 2 + k \mod 3 + … + k \mod n$的值
……给出$k$条射线 求能使$n*m$的矩形分成多少个块
由于是射线 所以所以每个一个交点都能产生贡献 最后的答案就是总交点数+1
那如何去维护呢 我们可以把$k$条射线按横纵来考虑 对于竖的射线 假如为$U$ 那么$[y,m]$便被覆盖 假如为$D$ 那么$[0,y]$便被覆盖 对于这样的线段可以考虑用树状数组去维护 我们考虑一个扫描线从下到上的扫过去 假如当前扫到了$y$ 那么便执行操作$add(x,val)$ 对于一个向下的射线 我们可以当扫描线在$0$时$add(x,val)$ 当扫描线在$y+1$时 $add(x,-val)$ 其中$val=1$ 假如我们扫描线当前遇到了横线的话 就直接查询从$L-R$覆盖的线段即可 由于$x$范围很大但是$k$很小 所以我们可以对$x$坐标离散化
……给定一个二进制01串 为1代表这个地方需要是高度为2的柱子 为0代表可以为高度为1或者2的柱子。起点和终点柱子高度都为必须1 同时横向走的时候需要管道 柱子的单位花费是b 管道的单位花费是a 从1到2还需要额外的a花费 问怎么安排使得花费最小
……
|
|
题解:答案为$\lfloor \frac{a+b+c}{2} \rfloor$
|
|