2017-Sp299-team2

从 Trac 迁移的文章

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

原文章内容如下:

 [[Image(1.png,500px)]]

== 流水账 ==
=== chenjb ===
这个B和之前300iq contest1和NEERC2018简直如出一辙,然后这个K不明白为什么榜上这么拖沓....我感觉主要问题还是取模看起来有点凶,以及这又是一个国内榜debuff的实例。我学弟靠着具体数学干爆了E,很棒棒啊?
=== oipotato ===

=== subconscious  ===

== 题解 == 

 * A:按深度从大到小,f[i]+i从小到大贪心匹配。

 * B:x向a,b1,b2,c1连边,b1向b2连边,c1向c2连边,可以证明该模型等价于最优情况,直接带花树即可,也可以上带权带花树硬艹。注意带花树和匈牙利是不支持一边加边一边匹配的。

 * C:

 * D:显然x的父亲是x+lowbit(x),每个修改只有log个单点修改,把这些单点修改都在树状数组上操作,那对于一个修改x,它的第i个父亲会得到i*v的贡献,询问就是log个单点的求值,sort后扫一遍即可。

 * E:

 * F:

 * G:注意到包含0和不包含0是两种情况,不包含0的情况要先把位数小于当前的所有情况都加进去,注意unsigned long long。

 * H:用前缀和处理出每个位置是否合法,bfs即可。

 * I:g=gcd(k,n),每g个一组,当g等于gcd(k,2n)时,每组的奇偶性要相同,否则每组都必须是偶数。

 * J:显然取到两端是最大值和最小值之后就没必要变长,而且对于一条路径,两端的人不是最大值或者最小值都会使得这条路径的计算结果变大,所以题意转化为任意一条路径两端的差加上路径长度,用换根dp维护。

 * K:大力分数规划+ac自动机dp即可,double能过,求稳就在法雷序列上二分。

 * L:考虑f[mask]是结果属于mask的概率,对于每一轮只有2^8^种不同的权值,可以通过预处理前缀积和统计乘除0来得到,最后再减回来即可。

流水账

chenjb

这个B和之前300iq contest1和NEERC2018简直如出一辙,然后这个K不明白为什么榜上这么拖沓....我感觉主要问题还是取模看起来有点凶,以及这又是一个国内榜debuff的实例。我学弟靠着具体数学干爆了E,很棒棒啊?

oipotato

subconscious

题解

  • A:按深度从大到小,f[i]+i从小到大贪心匹配。
  • B:x向a,b1,b2,c1连边,b1向b2连边,c1向c2连边,可以证明该模型等价于最优情况,直接带花树即可,也可以上带权带花树硬艹。注意带花树和匈牙利是不支持一边加边一边匹配的。
  • C:
  • D:显然x的父亲是x+lowbit(x),每个修改只有log个单点修改,把这些单点修改都在树状数组上操作,那对于一个修改x,它的第i个父亲会得到i*v的贡献,询问就是log个单点的求值,sort后扫一遍即可。
  • E:
  • F:
  • G:注意到包含0和不包含0是两种情况,不包含0的情况要先把位数小于当前的所有情况都加进去,注意unsigned long long。
  • H:用前缀和处理出每个位置是否合法,bfs即可。
  • I:g=gcd(k,n),每g个一组,当g等于gcd(k,2n)时,每组的奇偶性要相同,否则每组都必须是偶数。
  • J:显然取到两端是最大值和最小值之后就没必要变长,而且对于一条路径,两端的人不是最大值或者最小值都会使得这条路径的计算结果变大,所以题意转化为任意一条路径两端的差加上路径长度,用换根dp维护。
  • K:大力分数规划+ac自动机dp即可,double能过,求稳就在法雷序列上二分。
  • L:考虑f[mask]是结果属于mask的概率,对于每一轮只有28种不同的权值,可以通过预处理前缀积和统计乘除0来得到,最后再减回来即可。
附加文件