2017-Sp167-team2

从 Trac 迁移的文章

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

原文章内容如下:

 [[Image(1.png,500px)]]
== 流水账 ==
出门各自看题,cjb秒了I,上机写I,yzc推了E的式子,cjb写错了mdzz '''E2y15''',之后yzc和cjb交替上机,'''J1y47''','''I3y80''',sub上机写B,'''B2y108''',yzc拿了cjb的哈希帮sub做了预处理,sub上机'''G2y133''',之后sub打表过A,'''A1y165''',之后三人搞F,最后只能四毛子强上,'''F1y250''',最后sub rush C大失败,wa了两发。
== 总结 ==
=== chenjb ===
200训!!!!虽然sub的C没过有点可惜,但是遗憾也是艺术嘛!再接再厉,Legilimens Fighting!
=== oipotato ===
=== subconscious  ===

== 题解 ==
 * A:打表,f[n]表示n以内奇数的乘积,g[n]为n!剔除2的结果,g[n]=f[n]*f[n/2]*f[n/4]....,最后答案是g[n]/g[k]/g[n-k]再把2乘回去即可。

 * B:枚举左边的黑白状态,右边的结果等于左边的每个点单独结果的乘积,加起来即可。

 * C:枚举每个点,旋转一圈统计这个点出现在凸包上的方案数,注意细节,最后加上单点的情况。

 * D:

 * E:答案永远是C点。

 * F:四毛子,预处理一下层数为1,2,3,4时的状态,优化转移。

 * G:用哈希找到不同的头为1,尾为1的子串,每种都将前面有几个0,后面有几个0塞进map,跑单调栈,直接统计。

 * H:

 * I:不同长度的询问只有根号种,暴力把哈希拿出来排序,二分确定区间即可。

 * J:假如只有正数,记录当前数字包含的最后一个数字,每次要么把下一个数加进来,要么把最后一个数字替换成下一个数字,用堆维护即可。有负数时则将所有负数加起来,然后把负数变成正数即可。

流水账

出门各自看题,cjb秒了I,上机写I,yzc推了E的式子,cjb写错了mdzz E2y15,之后yzc和cjb交替上机,J1y47I3y80,sub上机写B,B2y108,yzc拿了cjb的哈希帮sub做了预处理,sub上机G2y133,之后sub打表过A,A1y165,之后三人搞F,最后只能四毛子强上,F1y250,最后sub rush C大失败,wa了两发。

总结

chenjb

200训!!!!虽然sub的C没过有点可惜,但是遗憾也是艺术嘛!再接再厉,Legilimens Fighting!

oipotato

subconscious

题解

  • A:打表,f[n]表示n以内奇数的乘积,g[n]为n!剔除2的结果,g[n]=f[n]*f[n/2]*f[n/4]....,最后答案是g[n]/g[k]/g[n-k]再把2乘回去即可。
  • B:枚举左边的黑白状态,右边的结果等于左边的每个点单独结果的乘积,加起来即可。
  • C:枚举每个点,旋转一圈统计这个点出现在凸包上的方案数,注意细节,最后加上单点的情况。
  • D:
  • E:答案永远是C点。
  • F:四毛子,预处理一下层数为1,2,3,4时的状态,优化转移。
  • G:用哈希找到不同的头为1,尾为1的子串,每种都将前面有几个0,后面有几个0塞进map,跑单调栈,直接统计。
  • H:
  • I:不同长度的询问只有根号种,暴力把哈希拿出来排序,二分确定区间即可。
  • J:假如只有正数,记录当前数字包含的最后一个数字,每次要么把下一个数加进来,要么把最后一个数字替换成下一个数字,用堆维护即可。有负数时则将所有负数加起来,然后把负数变成正数即可。
附加文件