2017-Sp326-team2

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

== 流水账 ==
=== chenjb ===
=== oipotato ===

=== subconscious  ===

== 题解 == 

 * A:显然每次贪心地取贡献最小的,所有点根据坐标会分成三种不同的形式,用三个堆维护。

 * B:

 * C:拆点后上下界网络流强艹。

 * D:线性独立和染色都是拟阵,直接拟阵交求出一组解即可。

 * E:

 * F:

 * G:处理出每个人只考虑他左边的人往右走能走多远,然后把区间覆盖一下,反过来再做一遍,两个区间归并,归并的时候内部有个断点,直接二分得到,统计答案。

 * H:后手操作的时候列比行多1,所以一定可以选择一列,那一列任何一行都不是最小值,于是一定可以把先手逼到某一行最小值,先手在其中选最大的。

 * I:L和R大力匹配,最后如果是满的话,还要判一下旋转的奇偶性,如果奇偶性不正确ans-1。

 * J:对于已经确定m>x,考虑同时处理x+1..y所有的m,计算y的最大取值,根据目前的加减号的个数关系,先做一边,直到顶到y的上限,再做另一边,这样在触发到0点的时候,可以判断good和bad,然后在触发0点的时候加一次减一次可判断是不是ugly,增长速度是sqrt级别。

流水账

chenjb

oipotato

subconscious

题解

  • A:显然每次贪心地取贡献最小的,所有点根据坐标会分成三种不同的形式,用三个堆维护。
  • B:
  • C:拆点后上下界网络流强艹。
  • D:线性独立和染色都是拟阵,直接拟阵交求出一组解即可。
  • E:
  • F:
  • G:处理出每个人只考虑他左边的人往右走能走多远,然后把区间覆盖一下,反过来再做一遍,两个区间归并,归并的时候内部有个断点,直接二分得到,统计答案。
  • H:后手操作的时候列比行多1,所以一定可以选择一列,那一列任何一行都不是最小值,于是一定可以把先手逼到某一行最小值,先手在其中选最大的。
  • I:L和R大力匹配,最后如果是满的话,还要判一下旋转的奇偶性,如果奇偶性不正确ans-1。
  • J:对于已经确定m>x,考虑同时处理x+1..y所有的m,计算y的最大取值,根据目前的加减号的个数关系,先做一边,直到顶到y的上限,再做另一边,这样在触发到0点的时候,可以判断good和bad,然后在触发0点的时候加一次减一次可判断是不是ugly,增长速度是sqrt级别。