2017-Sp106-team2

从 Trac 迁移的文章

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

原文章内容如下:

 [[Image(1.png,500px)]]
== 流水账 ==
开场各自看题,yzc迅速上机'''D1y6''',之后F也是签到题,'''F2y27''',cjb上机写B,'''B1y44'''。cjb和sub开出了A,丢给yzc,'''A2y72'''。cjb想出了I,上机获得wa,和yzc一起看了看发现是数字算错了囧,'''I3y92'''。sub终于想好了H,上机'''H1y120'''。cjb想了个结论丢给yzc写L,'''L1y149'''。sub和yzc开出了K,yzc上机wa了之后sub上机调边界,'''K2y215'''。cjb之前上机敲了闵可夫斯基和的板子,sub上机调G,wa了之后对拍找了错误,'''G2y270'''。最后迭代rush J,在mle和tle和wa的边缘试探,未能通过,cjb和yzc假装口胡出了B。
== 总结 ==
=== chenjb ===
打得还行,感觉C和J都是再给时间也能出的题。看到今天踩了一堆final队,心里还是有点小难过....
=== oipotato ===
=== subconscious  ===
== 题解 ==
 * A:multiset,只维护前100个值对答案贡献,暴力即可。

 * B:处理出a>b的关系建图,判是否有环。

 * C:首先折半,然后枚举左半边的余数,右半边余数也确定了,对于每一边余数p,直接暴力枚举k*m+p,然后用builtin_popcount来统计,因为枚举余数不超过m,然后下一层枚举的效率是sqrt(1e15)/m*builtin_popcount,所以乘起来效率应该是sqrt(1e15)*builtin_popcount,2秒多就能跑掉大点。

 * D:two-pointer。

 * E:cjb

 * F:模拟

 * G:分治,闵可夫斯基和求最远距离。

 * H:f[i][j]=min(a[k]+max(f[i][k-1],f[k+1][j])),树状数组维护两边最小值即可。

 * I:最大权闭合子图。

 * J:sub

 * K:理解为从大到小插入到序列中,将插入两个端点视为同一个操作,最后乘上组合数即可。

 * L:只要保证每条边只走2次就一定最优(dfs序),换根dp。
== 补题 ==

流水账

开场各自看题,yzc迅速上机D1y6,之后F也是签到题,F2y27,cjb上机写B,B1y44。cjb和sub开出了A,丢给yzc,A2y72。cjb想出了I,上机获得wa,和yzc一起看了看发现是数字算错了囧,I3y92。sub终于想好了H,上机H1y120。cjb想了个结论丢给yzc写L,L1y149。sub和yzc开出了K,yzc上机wa了之后sub上机调边界,K2y215。cjb之前上机敲了闵可夫斯基和的板子,sub上机调G,wa了之后对拍找了错误,G2y270。最后迭代rush J,在mle和tle和wa的边缘试探,未能通过,cjb和yzc假装口胡出了B。

总结

chenjb

打得还行,感觉C和J都是再给时间也能出的题。看到今天踩了一堆final队,心里还是有点小难过....

oipotato

subconscious

题解

  • A:multiset,只维护前100个值对答案贡献,暴力即可。
  • B:处理出a>b的关系建图,判是否有环。
  • C:首先折半,然后枚举左半边的余数,右半边余数也确定了,对于每一边余数p,直接暴力枚举k*m+p,然后用builtin_popcount来统计,因为枚举余数不超过m,然后下一层枚举的效率是sqrt(1e15)/m*builtin_popcount,所以乘起来效率应该是sqrt(1e15)*builtin_popcount,2秒多就能跑掉大点。
  • D:two-pointer。
  • E:cjb
  • F:模拟
  • G:分治,闵可夫斯基和求最远距离。
  • H:f[i][j]=min(a[k]+max(f[i][k-1],f[k+1][j])),树状数组维护两边最小值即可。
  • I:最大权闭合子图。
  • J:sub
  • K:理解为从大到小插入到序列中,将插入两个端点视为同一个操作,最后乘上组合数即可。
  • L:只要保证每条边只走2次就一定最优(dfs序),换根dp。

补题

附加文件