HDU 6129 Just do it
题意:给你一个包含n个数的序列A和一个数m,序列B中的数是序列A经过异或得到的,比如:b[i]=a[1]^a[2]^…..^a[i]。现在让你求经过m次异或后,序列B的值。
思路:这题其实和杨辉三角形有关。
   首先我们打个表可以得到
  我们知道杨辉三角形
  我们可以看到一个规律,我们单独把a提出来,每一行便是
  我们斜着看杨辉三角形
可以发现是相等的,我们就得到结论(i,j)位置的数值等于C(i+j-2, j-1),判断此处的奇偶便好。
/** @xigua */
#include <cstdio>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <vector>
#include <stack>
#include <cstring>
#include <queue>
#include <set>
#include <string>
#include <map>
#include <climits>
#define PI acos(-1)
using namespace std;
typedef long long ll;
typedef double db;
const int maxn = 2e5 + ;
const int mod = 1e9 + ;
const int INF = 1e8 + ;
const ll inf = 1e15 + ;
const db eps = 1e-;
int a[maxn], b[maxn]; void solve() {
int n, m; scanf("%d%d", &n, &m);
memset(b, , sizeof(b));
memset(a, , sizeof(a));
for (int i=; i<=n; i++) scanf("%d", &a[i]);
for (int i=; i<=n; i++) {
int x=i+m-, y=i-;
if ((x&y)==y) { //判断奇偶
for (int j=i; j<=n; j++)
b[j]^=a[j-i+];
}
}
for (int i=; i<=n; i++) {
if (i-) printf(" ");
printf("%d", b[i]);
}
puts("");
}
int main() {
int t = , cas = ;
//freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
scanf("%d", &t);
while(t--) {
// printf("Case %d: ", cas++);
solve();
}
return ;
}
HDU 6129 Just do it的更多相关文章
- HDU 6129 - Just do it   |  2017 Multi-University Training Contest 7
		
比赛时脑子一直想着按位卷积... 按题解的思路: /* HDU 6129 - Just do it [ 规律,组合数 ] | 2017 Multi-University Training Contes ...
 - HDU 6129 Just do it(杨辉三角)
		
http://acm.hdu.edu.cn/showproblem.php?pid=6129 题意: 给出数组a,并且bi=a1^a2^a3...^ai,并且现在会重复m次,求出最后的b数组. 思路: ...
 - 2017多校第7场 HDU 6129  Just do it 找规律
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6129 题意:求a序列后m次xor前缀和 解法: 手动对1位置对每个位置的贡献打表发现 第一次 贡献为 ...
 - 【(好题)组合数+Lucas定理+公式递推(lowbit+滚动数组)+打表找规律】2017多校训练七 HDU 6129 Just do it
		
http://acm.hdu.edu.cn/showproblem.php?pid=6129 [题意] 对于一个长度为n的序列a,我们可以计算b[i]=a1^a2^......^ai,这样得到序列b ...
 - 2017ACM暑期多校联合训练 - Team 7 1010    HDU 6129   Just do it        (找规律)
		
题目链接 Problem Description There is a nonnegative integer sequence a1...n of length n. HazelFan wants ...
 - HDU - 6129 :Just do it (杨辉三角)
		
There is a nonnegative integer sequence a 1...n a1...n of length n n . HazelFan wants to do a type ...
 - HDU 6129 Just do it  ——(找规律)
		
思路见:http://blog.csdn.net/qq_32506797/article/details/77206167. 利用二进制讲m次转化成log次然后进行转移. 代码如下: #include ...
 - Codechef WEASELTX
		
WEASELTX code给你一棵 n 个节点的有根树(节点),以及每个节点 i 的初始权值 a[i] .一次操作则是指将每个节点的权值变为以其为根的子树中所有节点的权值之异或和.维护 q 个询问,每 ...
 - HDOJ 2111. Saving HDU 贪心 结构体排序
		
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
 
随机推荐
- as2.0 清除主时间轴上所有的影片简介
			
for (var i in _root) { if (typeof _root[i] == "movieclip") { _root[i].swapDepths(1); _root ...
 - as3.0 在数组中找个找个,并且替换
			
var arr:Array=[1,2,7,9,3,5,6]; var findNum:Number =5//想要找到的数字 var replaceNum:Object =3//想要替换的数字 var ...
 - AVL树与红黑树(R-B树)的区别与联系
			
AVL树(http://baike.baidu.com/view/593144.htm?fr=aladdin),又称(严格)高度平衡的二叉搜索树.其他的平衡树还有:红黑树.Treap.伸展树.SBT. ...
 - CardView 卡片布局
			
转自:https://www.baidu.com/link?url=WwHvfX3PB_egfQ6GFwxsDeq4NDzB2AW-zaTzskkNXs0qWnIcHyh3pN3Oqe6YO1lAmV ...
 - Jasperreport5.6.9-----1
			
Jasperreport5.6.0生成PDF 最近项目中需要生成报表,先是看了下itext,觉得还可以,但是如果数据字段多的话,不太灵活.所以后来看了下ireport,觉得还可以,下面简单说一下它们: ...
 - Codeforces Beta Round #31 (Div. 2, Codeforces format)
			
Codeforces Beta Round #31 (Div. 2, Codeforces format) http://codeforces.com/contest/31 A #include< ...
 - 微信小程序开发——点击按钮获取用户授权没反应或反应很慢的解决方法
			
异常描述: 点击按钮获取用户手机号码,有的时候会出现点击无反应或很久之后才弹出用户授权获取手机号码的弹窗,这种情况下,也会出现点击穿透的问题(详见:微信小程序开发——连续快速点击按钮调用小程序api返 ...
 - 分布式大数据多维数据分析(olap)引擎kylin[转]
			
Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay 开发并贡献至开源社区.它能在亚秒内查询巨大的Hiv ...
 - VS2008水晶报表变两页(重装系统后)
			
找到水晶报表中的设置-打印机设置,发现打印机名称是 Microsoft XPS Document Writer (已重定向2),
 - ln: operation not permitted
			
ln: operation not permitted 在挂载的磁盘上建立软链接提示没有操作权限 例如: ln -s aa bb1ln:aa operation not permitted------ ...