2017杭电多校第七场1010 Just do it(数论,杨辉三角)HDU 6129
来源:互联网 发布:javascript入门经典 5 编辑:程序博客网 时间:2024/05/18 17:42
Just do it
Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 1047 Accepted Submission(s): 606
Problem Description
There is a nonnegative integer sequence a1...n of length n . HazelFan wants to do a type of transformation called prefix-XOR, which means a1...n changes into b1...n , where bi equals to the XOR value of a1,...,ai . He will repeat it for m times, please tell him the final sequence.
Input
The first line contains a positive integer T(1≤T≤5) , denoting the number of test cases.
For each test case:
The first line contains two positive integersn,m(1≤n≤2×105,1≤m≤109) .
The second line containsn nonnegative integers a1...n(0≤ai≤230−1) .
For each test case:
The first line contains two positive integers
The second line contains
Output
For each test case:
A single line containsn nonnegative integers, denoting the final sequence.
A single line contains
Sample Input
21 113 31 2 3
Sample Output
11 3 1
Source
2017 Multi-University Training Contest - Team 7
Recommend
liuyiding | We have carefully selected several similar problems for you: 6132 6131 6130 6129 6128
题目描述: 将a序列转化成b序列, b[i] = a[1]^a[2]^a[3]^a[4]^......^a[i] 重复m次, 求b
解题思路: 我开始找的是系数的规律发现他满足杨辉三角, 也就是说我现在给出n 和 m , 然后求最后一项是奇数还是偶数, 然后自己就死推呀, 推了两个多点儿把所有的表都打遍了也没找到规律.....其实是有公式的......: C(x+y-2, y-2) 表示第i项循环y次的杨辉三角最上端的数, 而我们只关心这个数的奇偶, 如果是奇数我们就向下传递
代码:
#include <iostream>#include <cstdio>#include <string>#include <vector>#include <cstring>#include <iterator>#include <cmath>#include <algorithm>#include <stack>#include <deque>#include <map>#define lson l, m, rt<<1#define rson m+1, r, rt<<1|1#define mem0(a) memset(a,0,sizeof(a))#define meminf(a) memset(a,0x3f,sizeof(a))typedef long long ll;using namespace std;//const int INF = 0x3fffffff;const int maxn = 2e6 + 10;int a[maxn];int ans[maxn];int main() { int t; scanf( "%d", &t ); while( t-- ) { int n, m; scanf( "%d %d", &n, &m ); mem0(a); mem0(ans); for( int i = 1; i <= n; i++ ) { scanf( "%d", a+i ); } for( int i = 1; i <= n; i++ ) { int x = m+i-2; int y = i-1; if( (x & y) == y ) { for( int j = 1; j <= n; j++ ) { ans[j] ^= a[j-i+1]; } } }// cout << n << endl; for( int i = 1; i <= n; i++ ) { if( i == 1 ) { printf( "%d", ans[i] ); } else printf( " %d", ans[i] ); } printf( "\n" ); } return 0;}
阅读全文
0 0
- 2017杭电多校第七场1010 Just do it(数论,杨辉三角)HDU 6129
- 2017多校联合第七场1010/hdu 6129 Just do it(递推/杨辉三角)
- hdu6129 Just do it 2017多校第七场1010 杨辉三角+规律
- 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【杨辉三角】
- 多校赛第七场1010 Just do it
- HDU 6129 Just do it(有点复杂的杨辉三角)
- HDU 6129 Just do it(杨辉三角+lucas \ 记忆化dp)
- HDU 6129 Just do it【杨辉三角】【思维题】【好题】
- HDU 6129 Just do it【杨辉三角+思维+Lucas定理】
- HDU 2017 多校联合训练赛7 1010 6129 Just do it 杨辉三角 组合数的奇偶判断
- 2017多校 Just do it (Hdu 6129)
- Just do it(HDU 6129)
- HDU 6129 Just do it(机智)
- HDU 6129 Just do it
- HDU 6127 Hard challenge【计算机几何】【思维题】
- 希尔排序
- 初识html
- JQuery下的ajax请求
- 屏幕录像专家v2016破解版
- 2017杭电多校第七场1010 Just do it(数论,杨辉三角)HDU 6129
- by uninstalling an existing version of the apk if it is present,
- C语言运算符优先级理解记忆,语法“陷阱”
- Bigdata Development Web_Study_03(input标签,请求转发和重定向)
- c++ primer plus阅读笔记11---深拷贝与浅拷贝
- 快速排序
- 设计模式之单例模式
- UVA10048Audiophobia
- 训练总结 8.16