2017-Sp309-team2

从 Trac 迁移的文章

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

原文章内容如下:

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

=== oipotato ===

=== subconscious  ===

== 题解 == 

 * A:枚举。

 * B:预处理最短路径后next_permutation枚举。

 * C:枚举转0,90,180,270度。

 * D:sub的圆反演 [https://www.cnblogs.com/NineSwords/p/9225187.html]

 * E:

 * F:用并查集维护,每个联通块维护眼的数量,一个联通块共用一个眼的时候算多次,这样一个眼被填掉的时候也减多次,每个联通块都用启发式合并维护出里面的元素。

 * G:两个点的路径长度就是两个点到根xor和的xor结果,用堆维护预处理出所有答案,每次在trie树找即可。

 * H:每个位置找到左边和右边第一个不互质的数的位置,询问容斥之后就是三个二维数点。

 * I:状压dp,注意到获得石头可以算上次获得石头总数-这次获得石头总数。

 * J:[https://blog.csdn.net/tobewhatyouwanttobe/article/details/39345477]

 * K:S向n件物品连流量为1的边,物品有两种归宿,一种是被某个工厂一开始做掉,枚举工厂按题意判定并设定cost;另一种是被某一种物品做完之后干掉,枚举物品按题意判定并设定cost,直接跑费用流即可。

流水账

chenjb

oipotato

subconscious

题解

  • A:枚举。
  • B:预处理最短路径后next_permutation枚举。
  • C:枚举转0,90,180,270度。
  • D:sub的圆反演 https://www.cnblogs.com/NineSwords/p/9225187.html
  • E:
  • F:用并查集维护,每个联通块维护眼的数量,一个联通块共用一个眼的时候算多次,这样一个眼被填掉的时候也减多次,每个联通块都用启发式合并维护出里面的元素。
  • G:两个点的路径长度就是两个点到根xor和的xor结果,用堆维护预处理出所有答案,每次在trie树找即可。
  • H:每个位置找到左边和右边第一个不互质的数的位置,询问容斥之后就是三个二维数点。
  • I:状压dp,注意到获得石头可以算上次获得石头总数-这次获得石头总数。
  • J:https://blog.csdn.net/tobewhatyouwanttobe/article/details/39345477
  • K:S向n件物品连流量为1的边,物品有两种归宿,一种是被某个工厂一开始做掉,枚举工厂按题意判定并设定cost;另一种是被某一种物品做完之后干掉,枚举物品按题意判定并设定cost,直接跑费用流即可。