hdu6129Just do it(杨辉三角、组合数)
来源:互联网 发布:公司网络管理办法 编辑:程序博客网 时间:2024/05/22 10:23
题意:
有一个长度为n的整数序列{an},对其做m次前缀异或和,求最终的序列。
思路:
看了别人的题解。发现第i次变化后,a[1]对b[j]的贡献其实是个杨辉三角。贡献次数是C(i+j-2,j-1)(在三角上推一下),然后根据lucas定理(n&m==m?奇:偶)来判断C(n,m)的奇偶性。
然后又发现a[2]对b[j]的贡献其实就是a[1]的杨辉三角往右挪了一格,所以知道了a[1]对b的贡献,后面的a[2],a[3]···对b的贡献就都知道了
代码:
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn = 200000+7;int a[maxn],b[maxn];int main(){ int t; scanf("%d",&t); while(t--) { int n,m; scanf("%d%d",&n,&m); for(int i = 1;i<=n;i++) scanf("%d",&a[i]); memset(b,0,sizeof(b)); for(int i = 1;i<=n;i++) { int nn = m+i-2,mm = i-1; if((nn&mm)==mm) { for(int j = 1;j<=n-i+1;j++) b[j+i-1] ^= a[j]; } } for(int i = 1;i<n;i++) printf("%d ",b[i]); printf("%d\n",b[n]); } return 0;}
阅读全文
1 0
- hdu6129Just do it(杨辉三角、组合数)
- hdu6129Just do it(递推规律)
- HDU 2017 多校联合训练赛7 1010 6129 Just do it 杨辉三角 组合数的奇偶判断
- 第七次多校联合hdu6129Just do it(题名好棒)
- 组合数和杨辉三角
- hdu Just do it 组合数规律
- Hdu 6129 Just do it【杨辉三角、规律】
- HDU 6129 Just do it(找规律+杨辉三角)
- hdu 6129 Just do it(杨辉三角)
- hdu 6129 Just do it (杨辉三角)
- HDU 6129 Just do it【杨辉三角】
- poj 1850 code(杨辉三角+组合数)
- POJ 1850 &&POJ 1496 Code 杨辉三角+组合数
- SDUTOJ 1586 计算组合数 杨辉三角
- POJ 3187 全排列+杨辉三角(组合数)
- SDNU 1311.Binomial Coeffcients 杨辉三角算组合数
- 杨辉三角、组合数 性质的探究
- 杨辉三角快速幂分治组合数
- maven 打包jar,可以运行项目
- Ubuntu16.04.1 安装Nginx
- jsp页面获取URL地址拼接的参数
- Pytorch广播是什么?
- Mac OS X 下如何安装brew
- hdu6129Just do it(杨辉三角、组合数)
- File upload error
- 安全测试
- 数据结构与算法专题之图——欧拉回路与拓扑排序
- linux 各个目录作用
- opencv2 opencv3 并存
- Hadoop Map/Reduce教程
- 处理下拉框
- Android 约束布局