hdu_5683_zxa and xor(非正解的暴力)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5683
题意:
zxa最近对按位异或(exclusive disjunction)产生了极大的兴趣,为此他拿出了一个长度为nn的非负整数序列a_1,a_2,\cdots,a_na1,a2,⋯,an。
zxa觉得这样太单调了,于是他定义了一种方法funct(x,y)funct(x,y),表示将a_xax不可逆转地修改为yy后计算\otimes_{1\leq i < j\leq n}{(a_i+a_j)}⊗1≤i<j≤n(ai+aj)作为该方法的返回值。
zxa很好奇,如果他对这个序列调用mm次这样的方法,那么每次得到的返回值分别是多少,你能帮助他吗?
提示:\otimes_{1\leq i < j\leq n}{(a_i+a_j)}⊗1≤i<j≤n(ai+aj)即(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)(a1+a2)⊗(a1+a3)⊗⋯⊗(a1+an)⊗(a2+a3)⊗(a2+a4)⊗⋯⊗(a2+an)⊗⋯⊗(an−1+an)。
第一行有一个正整数TT,表示有TT组数据。
对于每组数据:
第一行有两个正整数nn和mm。
第二行有nn个非负整数,表示a_1,a_2,\cdots,a_na1,a2,⋯,an。
接下来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⋅104,1≤m≤2⋅104,0≤ai,y≤109,1≤x≤n,1≤∑n,∑m≤105
对于每组数据,输出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
第一次操作后序列为\{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(非正解的暴力)的更多相关文章
- BZOJ3110 K大数查询 【线段树 + 整体二分 或 树套树(非正解)】
Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c 如果是2 a b c形式,表示询问从第a个位置到第b个位 ...
- [Bzoj2120]数颜色 (非正解 )(莫队)
2120: 数颜色 Time Limit: 6 Sec Memory Limit: 259 MBSubmit: 6286 Solved: 2489[Submit][Status][Discuss] ...
- 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 ...
- 【P2387】魔法森林(SPFA非正解)
题目链接 不会LCTqwq,看题解似乎SPFA也可以. 把边按a排序,从小到大每加一条边就以b为距离跑一遍SPFA,类似于Kruskal的想法吧…… 貌似是个暴力 (luoguLCT模块的题我都快通过 ...
- Luogu1099 树网的核 (暴力?,floyd?)(还未想正解,暴力就A了)
阅读理解两小时,手敲暴力思考5分钟.然后\(n^3\)就A了 暴力代码 #include <iostream> #include <cstdio> #include <c ...
- HDU 4691 正解后缀数组(暴力也能过)
本来是个后缀数组,考察算法的中级题目,暴力居然也可以水过,就看你跳不跳坑了(c++和G++返回结果就很不一样,关键看编译器) 丝毫不差的代码,就看运气如何了.唯一差别c++还是G++,但正解是后缀数组 ...
- Bzoj 1537: [POI2005]Aut- The Bus 题解 [由暴力到正解]
1537: [POI2005]Aut- The Bus Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 387 Solved: 264[Submit][S ...
- 【BZOJ-4059】Non-boring sequences 线段树 + 扫描线 (正解暴力)
4059: [Cerc2012]Non-boring sequences Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 440 Solved: 16 ...
- 【百度之星2014~复赛 解题报告~正解】The Query on the Tree
声明 笔者最近意外的发现 笔者的个人网站http://tiankonguse.com/ 的很多文章被其它网站转载,但是转载时未声明文章来源或参考自 http://tiankonguse.com/ 网站 ...
随机推荐
- Memcached内存存储
早就听说过Memcached独特的内存管理方式,写着篇文章的目的就是了解Memcached的内存管理,学习其源代码. 1.什么是Slab Allocator memcached默认情况下采用了名为Sl ...
- IE8及以下不支持getElementByClassName的解决办法
function getByClass(oParent, sClass){ var aEle=oParent.getElementsByTagName('*'); var aResult=[]; va ...
- openstack私有云布署实践【0 前言】
管理控制层面示图: 其实在修改这个布署文档是,我发现当时生产中的布署已经严重偏离了openstack高可用的指导思想.我们自己实践的高可用其实是适应自己的架构而做的调整,因为我们现实手头上中没有比较符 ...
- 第八十二节,CSS3过渡效果
CSS3过渡效果 学习要点: 1.过渡简介 2.transition-property 3.transition-duration 4.transition-timing-function 5.tra ...
- js--性能优化(转)
前言 一直在学习javascript,也有看过<犀利开发Jquery内核详解与实践>,对这本书的评价只有两个字犀利,可能是对javascript理解的还不够透彻异或是自己太笨,更多的是自己 ...
- FZU 1502 Letter Deletion(DP)
Description You are given two words (each word consists of upper-case English letters). Try to delet ...
- 转换成maven时报错
转自:将项目加入maven管理时报错 将项目加入maven管理时报错: Convert to maven project: An internal error occurred during: “En ...
- Spark开发指南
原文链接http://www.sxt.cn/info-2730-u-756.html 目录 Spark开发指南 简介 接入Spark Java 初始化Spark Java 弹性分布式数据集 并行集合 ...
- 【Sort】插入排序
今晚更新几个排序算法 插入排序,时间复杂度O(n^2),从前往后遍历,每遍历到一个值的时候,其前面的所有值已经完成排序,把这个值插入适当位置 void intersort(int *nums,int ...
- ubuntu 操作系统相关操作
查看操作系统位数 命令: getconf LONG_BIT root@hbg:/# getconf LONG_BIT 64 查看操作系统信息 命令: lsb_release -a root@hbg: ...