其他题目题解:

2017 Multi-University Training Contest - Team 7:1005. Euler theorem

2017 Multi-University Training Contest - Team 7:1011. Kolakoski

2017 Multi-University Training Contest - Team 7:1008. Hard challenge

2017 Multi-University Training Contest - Team 7:1002. Build a tree

2017 Multi-University Training Contest - Team 7:1003. Color the chessboard

题意:有一个长度为n的整数序列,对其求m次前缀和,求最终的序列

令φ(x, y)为求完第x次前缀和后的第y个数,那么有

从这个公式可以得出两点:

①系数同于组合数

②系数为偶数的项值为0(异或性质a^a==0)

考虑对于组合数C(n,m),当n&m==m(m<n)时为奇数

那么可以得知当n为2^n形式的整数时,C(n,m)当且仅当m=0和m=n时为奇数,其它都为偶数

这样就可以得出

因为是求第m个序列

所以对于φ(m, y),对应着φ(m-2^k, y),我们就可以用m&-m不停的取掉m的最低位,

然后将m&-m+1到y这一段的所有数字全部异或它前面的第m&-m个数字就好

一开始写的递归超时了

#include<stdio.h>
int a[200005], ans[200005];
int main(void)
{int T, n, m, k, i;scanf("%d", &T);while(T--){scanf("%d%d", &n, &m);for(i=1;i<=n;i++)scanf("%d", &a[i]);while(m){k = m&-m;for(i=k+1;i<=n;i++)a[i] ^= a[i-k];m -= k;}printf("%d", a[1]);for(i=2;i<=n;i++)printf(" %d", a[i]);printf("\n");}return 0;
}

2017 Multi-University Training Contest - Team 7:1010. Just do it(组合数?)相关推荐

  1. 2017 Multi-University Training Contest - Team 7:1003. Color the chessboard(...)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  2. 2017 Multi-University Training Contest - Team 7:1002. Build a tree(递归)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  3. 2017 Multi-University Training Contest - Team 7:1008. Hard challenge(模拟)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  4. 2017 Multi-University Training Contest - Team 7:1011. Kolakoski(模拟)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  5. 2017 Multi-University Training Contest - Team 7:1005. Euler theorem(答案是(n+3)/2)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1003. Color the chessboard 2017 Multi-Univer ...

  6. 2017 Multi-University Training Contest - Team 3 Kanade's sum hd6058

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6058 题目: Kanade's sum Time Limit: 4000/2000 MS (J ...

  7. 2017 Multi-University Training Contest - Team 1

    2017 Multi-University Training Contest - Team 1 01     签到的 #include<bits/stdc++.h> using names ...

  8. 2017 Multi-University Training Contest - Team 2 Puzzle

    题目大意: 给定n, m, p.然后按照一个规则往n*m的方格里填数,最后一个方格是空格,然后玩拼图游戏,问能否复原 规则是:把1~n*m-1的排列中的第1,p+1,2*p+1.....个数依次取出来 ...

  9. 2017 Multi-University Training Contest - Team 1—HDU6040

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6040 题意:不知道北航的同学为何解释题意之前都要想一段故事,导致刚开始题意不是很懂,题意就是给你n,m ...

最新文章

  1. C++ 继承过程中使用访问说明符和虚函数
  2. JavaScript异步史
  3. VS2010没有Intellisense(智能感知)的解决办法
  4. Python中数字以及算数运算符的相关使用
  5. SQL Server之日期和时间函数
  6. 从客户端检测到有潜在危险的Request.Form 值
  7. div为空的时候 浮动没有效果_3种CSS清除浮动的方法
  8. ajax入门体会(转)
  9. A cycle was detected in the build path of project
  10. 看看什么样的人适合网上开店( 转载)
  11. Wannafly挑战赛28A(模拟,题意文字游戏)
  12. c4d渲染测试软件,提升C4D渲染速度,你需要的高端显卡选购指南
  13. AUTOCAD Study
  14. java六角括号怎么打_六角括号怎么打出来 六角括号输入方法
  15. Java SE第10章 异常处理
  16. TCP粘包的原因及解决办法
  17. 36岁程序员2023年第一天上班被裁
  18. [CTO札记]武侠人物名称稀缺,上起点找吧
  19. svn: E155007 和 svn: E155004
  20. Android 仿手机通讯录页面

热门文章

  1. python自动化办公教程百度云-693629 用Python自动办公,做职场高手(完结)
  2. python入门代码-Python入门学习系列——Python代码测试
  3. java 准备 解析_深入理解JAVA虚拟机学习笔记24——类加载的准备和解析
  4. python的文本编辑geny_android模拟器(genymotion)+appium+python 框架执行基本原理(目前公司自己写的)...
  5. iar编译工程的map怎么看使用flash大小_ESP8266_08基于flash的数据掉电保护
  6. Darwin Streaming Server 安装流程
  7. python 进行一元线性回归并输出相关结果_荐一元线性回归利用最小二乘法求解原理代码及案例...
  8. imageJ 如何下载plugin_如何给微服务架构的项目做验收测试?
  9. C# (正则表达试) 检查是否为IP地址
  10. jQuery 学习-DOM篇(六):jQuery 替换 DOM 元素