题目连接: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. Memcached内存存储

    早就听说过Memcached独特的内存管理方式,写着篇文章的目的就是了解Memcached的内存管理,学习其源代码. 1.什么是Slab Allocator memcached默认情况下采用了名为Sl ...

  2. IE8及以下不支持getElementByClassName的解决办法

    function getByClass(oParent, sClass){ var aEle=oParent.getElementsByTagName('*'); var aResult=[]; va ...

  3. openstack私有云布署实践【0 前言】

    管理控制层面示图: 其实在修改这个布署文档是,我发现当时生产中的布署已经严重偏离了openstack高可用的指导思想.我们自己实践的高可用其实是适应自己的架构而做的调整,因为我们现实手头上中没有比较符 ...

  4. 第八十二节,CSS3过渡效果

    CSS3过渡效果 学习要点: 1.过渡简介 2.transition-property 3.transition-duration 4.transition-timing-function 5.tra ...

  5. js--性能优化(转)

    前言 一直在学习javascript,也有看过<犀利开发Jquery内核详解与实践>,对这本书的评价只有两个字犀利,可能是对javascript理解的还不够透彻异或是自己太笨,更多的是自己 ...

  6. FZU 1502 Letter Deletion(DP)

    Description You are given two words (each word consists of upper-case English letters). Try to delet ...

  7. 转换成maven时报错

    转自:将项目加入maven管理时报错 将项目加入maven管理时报错: Convert to maven project: An internal error occurred during: “En ...

  8. Spark开发指南

    原文链接http://www.sxt.cn/info-2730-u-756.html 目录 Spark开发指南 简介 接入Spark Java 初始化Spark Java 弹性分布式数据集 并行集合 ...

  9. 【Sort】插入排序

    今晚更新几个排序算法 插入排序,时间复杂度O(n^2),从前往后遍历,每遍历到一个值的时候,其前面的所有值已经完成排序,把这个值插入适当位置 void intersort(int *nums,int ...

  10. ubuntu 操作系统相关操作

    查看操作系统位数 命令:  getconf LONG_BIT root@hbg:/# getconf LONG_BIT 64 查看操作系统信息 命令: lsb_release -a root@hbg: ...