【2017年整理】ACM-DIY Group Contest 2011 Spring,结题报告.pdfVIP

  • 4
  • 0
  • 约3.07千字
  • 约 3页
  • 2017-12-20 发布于浙江
  • 举报

【2017年整理】ACM-DIY Group Contest 2011 Spring,结题报告.pdf

【2017年整理】ACM-DIY Group Contest 2011 Spring,结题报告

1001Centeur 首先求各个位置的sg 值,可以打表找规律,也可以参考 Thomas S. Ferguson 的《GAME THEORY》 At-Least-Half 可知各个位置的sg 值该位置编号的二进制位数,亦即sg值最大 为63。然后合并区间,统计各种sg值对应的已经确定是亮着的灯泡nim和。再统计各种sg 值对应的可变状态的灯泡数目。最后dp加快速幂求解所有亮着灯的nim和为0的状态数。 用f[i,j]表示sg值为0到i 所组成的nim和为j 的状态数。状态转移时用f[i,j] *k1 +f[i + 1,j] 更新f[i+1,j],用f[i,j] *k2 + f[i + 1, j^ (i + 1)] 更新f[i+1,j^(i + 1)],k1 为sg值为i+1 的位置 组合出nim和为0的情况数,k2 为sg值为i+1的位置组合出nim和为(i+1)的情况数。 1002HowManyHouGong 这是个有一定数据量的查询问题,一般可以用log的复杂度来搞。而log的复杂度基本上是 牵扯到某某树,这题也不例外,不过可以用简单的树状数组搞定(ym 用treap 以及其他神马 的)。 首先得分析一下Query的是什么东西,求sumF(v,val),我们可以进行一番推倒,可以通过累 加第 i 位出现 val 的次数来计算答案,容易发现这即是 s

文档评论(0)

1亿VIP精品文档

相关文档