模拟测试95

T1:
  求$sum limits_{i=0}^p lfloor frac{iq}{p} floor$的值。

  发现从0枚举很鸡肋。

  egin{array}{ll} 2ans &=& 2sum limits_{i=1}^p lfloor frac{iq}{p} floor \ &=& sum limits_{i=1}^p lfloor frac{iq}{p} floor + lfloor frac{(p-i)q}{p} floor \ &=& (p+1)q - p + sum limits_{i=1}^p [p|iq] \ &=& (p+1)q - p + gcd(p,q) end{array}

  时间复杂度$O(Tlogp)$。

T2:

  考虑贪心。

  格式化顺序一定是先更新增大的,再更新不变的,再更新减小的。

  对于容量增大的硬盘,把格式化前容量小的在放在前面一定更优。

  因为如果交换,答案一定不会更优。

  对于容量减小的硬盘,可以看成逆过程,把格式化后容量大的放在前面。

  排个序直接求。

  时间复杂度$O(nlogn)$。

T3:

  加号两侧状态相同,减号两侧状态不同。

  加号合并,减号连边。

  没有钱号时特判即可。

  有钱号时,每个钱号代表一些点,合并$k$值相同的点。

  分类讨论,判断即可。

  时间复杂度$O(n)$。

原文地址:https://www.cnblogs.com/hz-Rockstar/p/11771569.html