2017-Sp314-team2

从 Trac 迁移的文章

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

原文章内容如下:

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

=== subconscious  ===

== 题解 == 

 * A:按题意模拟。

 * B:按矛盾建图,然后把每个联通块黑白染色,划归成无矛盾的情况,然后拆散two-pointer即可。

 * C:取两个大于sqrt(n)的质数p和q=kp+1,交换两人的连线,分治乘,注意有部分需要特判。

 * D:

 * E:

 * F:

 * G:C(n+1,4)*C(m+1,4)

 * H:分类讨论,如果有终点离A更近,直接win,否则考虑B把A堵在子树和两人上环的情况,如果A会被赌或者先上环必输,否则再根据能吃掉哪些点和落在哪些点判定。

 * I:取出坐标上的最大次大值,根据交叉点有没有点分类讨论。

 * J:根据是否被ban分成几个联通块,每次贪心,要么直接连在当前之后,要么取反放在当前之前,动态维护hash来判定字典序的大小,扫一遍即可。

 * K:可以开根号向下枚举得到p,q,随后求逆元次方即可。

 * L:偶数用2 2 2 2,奇数用2 2 2 3,剩下暴力分拆。

流水账

chenjb

oipotato

subconscious

题解

  • A:按题意模拟。
  • B:按矛盾建图,然后把每个联通块黑白染色,划归成无矛盾的情况,然后拆散two-pointer即可。
  • C:取两个大于sqrt(n)的质数p和q=kp+1,交换两人的连线,分治乘,注意有部分需要特判。
  • D:
  • E:
  • F:
  • G:C(n+1,4)*C(m+1,4)
  • H:分类讨论,如果有终点离A更近,直接win,否则考虑B把A堵在子树和两人上环的情况,如果A会被赌或者先上环必输,否则再根据能吃掉哪些点和落在哪些点判定。
  • I:取出坐标上的最大次大值,根据交叉点有没有点分类讨论。
  • J:根据是否被ban分成几个联通块,每次贪心,要么直接连在当前之后,要么取反放在当前之前,动态维护hash来判定字典序的大小,扫一遍即可。
  • K:可以开根号向下枚举得到p,q,随后求逆元次方即可。
  • L:偶数用2 2 2 2,奇数用2 2 2 3,剩下暴力分拆。