题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5683

题意:

问题描述
zxa最近对按位异或(exclusive disjunction)产生了极大的兴趣,为此他拿出了一个长度为nn的非负整数序列a_1,a_2,\cdots,a_na​1​​,a​2​​,⋯,a​n​​。

zxa觉得这样太单调了,于是他定义了一种方法funct(x,y)funct(x,y),表示将a_xa​x​​不可逆转地修改为yy后计算\otimes_{1\leq i < j\leq n}{(a_i+a_j)}⊗​1≤i<j≤n​​(a​i​​+a​j​​)作为该方法的返回值。

zxa很好奇,如果他对这个序列调用mm次这样的方法,那么每次得到的返回值分别是多少,你能帮助他吗?

提示:\otimes_{1\leq i < j\leq n}{(a_i+a_j)}⊗​1≤i<j≤n​​(a​i​​+a​j​​)即(a_1+a_2)\otimes(a_1+a_3)\otimes\cdots\otimes(a_1+a_n)\otimes(a_2+a_3)\otimes(a_2+a_4)\otimes\cdots\otimes(a_2+a_n)\otimes\cdots\otimes(a_{n-1}+a_n)(a​1​​+a​2​​)⊗(a​1​​+a​3​​)⊗⋯⊗(a​1​​+a​n​​)⊗(a​2​​+a​3​​)⊗(a​2​​+a​4​​)⊗⋯⊗(a​2​​+a​n​​)⊗⋯⊗(a​n−1​​+a​n​​)。
输入描述
第一行有一个正整数TT,表示有TT组数据。

对于每组数据:

第一行有两个正整数nn和mm。

第二行有nn个非负整数,表示a_1,a_2,\cdots,a_na​1​​,a​2​​,⋯,a​n​​。

接下来mm行,第i(1\leq i\leq m)i(1≤i≤m)行有两个非负整数xx和yy,表示第ii调用的是funct(x,y)funct(x,y)。

每一行相邻数字之间只有一个空格。

1\leq T\leq 1000,2\leq n\leq 2\cdot10^4,1\leq m\leq 2\cdot10^4,0\leq a_i,y\leq 10^9,1\leq x\leq n,1\leq\sum{n},\sum{m}\leq10^51≤T≤1000,2≤n≤2⋅10​4​​,1≤m≤2⋅10​4​​,0≤a​i​​,y≤10​9​​,1≤x≤n,1≤∑n,∑m≤10​5​​
输出描述
对于每组数据,输出mm行,第i(1\leq i\leq m)i(1≤i≤m)行包含一个非负整数,表示第ii次调用方法的返回值。
输入样例
1
3 3
1 2 3
1 4
2 5
3 6
输出样例
4
6
8
Hint
第一次操作后序列为\{4,2,3\}{4,2,3},(4+2)\otimes(4+3)\otimes(2+3)=4(4+2)⊗(4+3)⊗(2+3)=4。

第二次操作后序列为\{4,5,3\}{4,5,3},(4+5)\otimes(4+3)\otimes(5+3)=6(4+5)⊗(4+3)⊗(5+3)=6。

第三次操作后序列为\{4,5,6\}{4,5,6},(4+5)\otimes(4+6)\otimes(5+6)=8(4+5)⊗(4+6)⊗(5+6)=8。

题解:在BC的终测 我居然TLE了,不科学,唐老师放宽了时限,和我写法差不多,常数也差不多的都过了,然而我没过,很是不爽,然而在OJ上提交 5600+ms A C

 #include<cstdio>
#define FFC(i,a,b) for(int i=a;i<=b;i++)
int s[],da[];
int main(){
int t,m,n,a,b;
scanf("%d",&t);
while(t--){
scanf("%d%d",&n,&m);
FFC(i,,n)scanf("%d",&s[i]);
FFC(i,,n){
int ans=;
FFC(j,i+,n)ans=ans^(s[i]+s[j]);
da[i]=ans;
}
FFC(i,,m){
scanf("%d%d",&a,&b);
int tmp=s[a];
s[a]=b;
int ans=,aans=;
FFC(j,a+,n)ans=ans^(b+s[j]);
da[a]=ans;
FFC(j,,a-)da[j]=da[j]^(s[j]+tmp),da[j]=da[j]^(s[j]+b);
FFC(i,,n)aans^=da[i];
printf("%d\n",aans);
}
}
return ;
}

hdu_5683_zxa and xor(非正解的暴力)的更多相关文章

  1. BZOJ3110 K大数查询 【线段树 + 整体二分 或 树套树(非正解)】

    Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c 如果是2 a b c形式,表示询问从第a个位置到第b个位 ...

  2. [Bzoj2120]数颜色 (非正解 )(莫队)

    2120: 数颜色 Time Limit: 6 Sec  Memory Limit: 259 MBSubmit: 6286  Solved: 2489[Submit][Status][Discuss] ...

  3. HDU - 5307 :He is Flying (分治+FFT)(非正解)

    JRY wants to drag racing along a long road. There are nn sections on the road, the ii-th section has ...

  4. 【P2387】魔法森林(SPFA非正解)

    题目链接 不会LCTqwq,看题解似乎SPFA也可以. 把边按a排序,从小到大每加一条边就以b为距离跑一遍SPFA,类似于Kruskal的想法吧…… 貌似是个暴力 (luoguLCT模块的题我都快通过 ...

  5. Luogu1099 树网的核 (暴力?,floyd?)(还未想正解,暴力就A了)

    阅读理解两小时,手敲暴力思考5分钟.然后\(n^3\)就A了 暴力代码 #include <iostream> #include <cstdio> #include <c ...

  6. HDU 4691 正解后缀数组(暴力也能过)

    本来是个后缀数组,考察算法的中级题目,暴力居然也可以水过,就看你跳不跳坑了(c++和G++返回结果就很不一样,关键看编译器) 丝毫不差的代码,就看运气如何了.唯一差别c++还是G++,但正解是后缀数组 ...

  7. Bzoj 1537: [POI2005]Aut- The Bus 题解 [由暴力到正解]

    1537: [POI2005]Aut- The Bus Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 387  Solved: 264[Submit][S ...

  8. 【BZOJ-4059】Non-boring sequences 线段树 + 扫描线 (正解暴力)

    4059: [Cerc2012]Non-boring sequences Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 440  Solved: 16 ...

  9. 【百度之星2014~复赛 解题报告~正解】The Query on the Tree

    声明 笔者最近意外的发现 笔者的个人网站http://tiankonguse.com/ 的很多文章被其它网站转载,但是转载时未声明文章来源或参考自 http://tiankonguse.com/ 网站 ...

随机推荐

  1. A*寻路算法 (cocos2d-js详细代码)

    看了几天的A*算法,感觉要成为一个游戏开发者,有必要把这个著名的算法拿到手. 网上有此算法的代码片段,但主要还是些模板类的伪代码,所以想分享一段完整的A*算法代码供大家更好的理解!(这里使用的是js语 ...

  2. hibernate异常:org.hibernate.exception.GenericJDBCException

    异常:org.hibernate.exception.GenericJDBCException 提示:Cannot open connection 提示:不能打开链接 一般这个异常是由 java.sq ...

  3. Android Studio Gradle更新的解决办法

    环境: Win7_64旗舰版.Android Studio2.1.1 问题描述: 在打开Android Studio项目的时候,会下载项目对应版本的gradle,由于是国外网站导致更新较慢,该版本是在 ...

  4. C#之委托(函数参数传递)【转】

    原文:http://blog.csdn.net/wangdan199112/article/details/18796527 在学委托这块儿的时候,函数参数这块不是很理解,于是针对一个例子做了深入的理 ...

  5. Android底部导航栏——FrameLayout + RadioGroup

    原创文章,转载请注明出处http://www.cnblogs.com/baipengzhan/p/6285881.html Android底部导航栏有多种实现方式,本文详细介绍FrameLayout ...

  6. 1-jQuery - AJAX load() 方法【基础篇】

    jQuery load() 方法是简单但强大的 AJAX 方法:load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 格式 $(selector).load(URL 源码 index.h ...

  7. H5复制粘贴

    H5 复制粘贴 - execCommand 字数748 阅读399 评论0 喜欢0 需求:自动复制一段内容到剪切板, 让用户可以在其他客户端粘贴(发小广告做推广经常要用吧) window.clipbo ...

  8. Python虚拟环境的配置

    Python中,配置虚拟环境主要是为了防止版本之间的冲突,我是这么理解的: 1.用虚拟环境可以在一个电脑中使用多个Python解释器以及扩展: 2.可以方便的在同一台电脑中使用多个版本的代码. 虚拟环 ...

  9. ajax不进success,

    $.ajax({ url:"/order/pay_order_wx?order_id="+order_id, type:'GET', data:"{}", da ...

  10. ElasticSearch(2)-文档

    上一篇 ES(1) 官网原地址:https://www.elastic.co/guide/en/elasticsearch/reference/1.7/_cluster_health.html ES权 ...