【hdu6186】CS Course(前缀后缀异或)
2017ACM/ICPC广西邀请赛 重现赛1005CS Course
题意
给一个数列a,每次询问去掉第p个的与和、或和,异或和。
题解
预处理前缀和、后缀和即可。
但是当时想都没想就写了个线段树。线段树就要注意不存在的区间,&操作返回1,其他返回0。
代码
const int N=201000;
int n,p,a[N];
int add(int a,int b,int t){
if(t==0)
return a&b;
if(t==1)
return a|b;
return a^b;
}
struct SegTree{
int s[N<<1];
void build(int rt,int l,int r,int type){
if(l==r){s[rt]=a[l];return;}
build(rt<<1,l,l+r>>1,type);
build(rt<<1|1,(l+r>>1)+1,r,type);
s[rt]=add(s[rt<<1],s[rt<<1|1],type);
}
void Build(int n,int t){
build(1,1,n,t);
}
int query(int rt,int l,int r,int L,int R,int type){
if(l>R||r<L||L>R)return type==0?1:0;
if(L<=l&&r<=R)
return s[rt];
int mid=l+r>>1;
if(R<=mid)return query(rt<<1,l,mid,L,R,type);
if(L>mid)return query(rt<<1|1,mid+1,r,L,R,type);
return add(query(rt<<1,l,mid,L,mid,type),query(rt<<1|1,mid+1,r,mid+1,R,type),type);
}
int Query(int n,int s,int type){
return add(query(1,1,n,1,s-1,type),query(1,1,n,s+1,n,type),type);
}
}tree[3];
int main() {
while(~scanf("%d%d",&n,&p)){
rep(i,1,n+1)scanf("%d",a+i);
rep(i,0,3)tree[i].Build(n, i);
while(p--){
int s;
scanf("%d",&s);
rep(i,0,3)printf("%d%c",tree[i].Query(n,s,i),i==2?'\n':' ');
}
}
return 0;
}
【hdu6186】CS Course(前缀后缀异或)的更多相关文章
- POJ 2752 (KMP 所有可能长度的前缀后缀) Seek the Name, Seek the Fame
题意: 求一个字符串的相同前缀后缀的所有可能的长度,这里该字符串其本身也算自己的前缀和后缀. 分析: 我们知道next数组的性质是,该字符之前的字符串的最大相同前缀后缀. 既然知道了最大的,即next ...
- hdoj 2594 Simpsons’ Hidden Talents 【KMP】【求串的最长公共前缀后缀】
Simpsons' Hidden Talents Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java ...
- 1280 前缀后缀集合(map)
1280 前缀后缀集合 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 一个数组包含N个正整数,其中有些是重复的.一个前缀后缀集是满足 ...
- kuangbin专题七 HDU1540 Tunnel Warfare (前缀后缀线段树)
During the War of Resistance Against Japan, tunnel warfare was carried out extensively in the vast a ...
- jQuery EasyUI/TopJUI基本的数字输入框(保留两位小数,带前缀后缀...)
jQuery EasyUI/TopJUI基本的数字输入框(保留两位小数,带前缀后缀...) numberbox(数值输入框) HTML required:必填字段,默认为false:prompt:显示 ...
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] D "Or" Game 枚举+前缀后缀
D. "Or" Game ...
- B. Marvolo Gaunt's Ring 前缀后缀
B. Marvolo Gaunt's Ring 这种一般只有三个的都可以处理前缀和后缀,再枚举中间这个值. 这个和之前写过的C. Four Segments 前缀后缀 处理方式很像. #include ...
- HDU 6186 CS Course(前缀+后缀)
http://acm.hdu.edu.cn/showproblem.php?pid=6186 题意:给出n个数,共有n次询问,每次询问给出一个数p,求除去第p个数后的n-1个数的&.|.^值. ...
- HDU 6186 CS Course 前缀和,后缀和
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6186 题意:给了n个数,然后有q个查询,每个查询要求我们删掉一个数,问删掉这个数后整个序列的与值,或值 ...
随机推荐
- ajax成功后XML 解析错误:格式不佳
就是Ajax发送请求后,意图回显数据时会出现这个错误,貌似chrome浏览器不会报用火狐能看到: 可能的原因有两个,就是后台应该返回一个json格式的字符串,但是你返回的是浏览器看不懂的,也就是返回格 ...
- 第十二届湖南省赛 (B - 有向无环图 )(拓扑排序+思维)好题
Bobo 有一个 n 个点,m 条边的有向无环图(即对于任意点 v,不存在从点 v 开始.点 v 结束的路径). 为了方便,点用 1,2,…,n 编号. 设 count(x,y) 表示点 x 到点 y ...
- sqlServer问题记录
1.sql 2008 无法绑定由多个部分绑定的标示符 连接中的多个表中存在同名字段,通过设置别名访问即可 2.远程无法连接到sqlserver 计算机管理->服务与应用程序->SQL Se ...
- mybatis出现NoSuchMethodException异常
今天在idea中调试项目(ssm搭建的项目)的时候,mybatis突然出现了NoSuchMethodException异常,具体的异常时: java.lang.NoSuchMethodExceptio ...
- 解决ssh ltt3.bg.cn 'jps' bash: jps: command not found 问题
>>提君博客原创 http://www.cnblogs.com/tijun/ << linux 上我用hadoop用户配置好SSH后,运行 ssh ltt3.bg.cn ' ...
- 自定义Attribute类
在我们的项目中有时经常会标识一些类的特性,在下面我们将简短的方式来介绍如何构建自定义的Attribute类. using System; using System.Collections.Generi ...
- table index & delete array item
table index & delete array item https://www.iviewui.com/components/table#ZDYLMB 编辑 row = { " ...
- SpringBoot Junit Maven JaCoCo
写一下最近写单体测试的一些笔记. SrpingBoot的测试用例: @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest(classes = ...
- linux 地址解析协议 arp
随便转载,保留出处:http://www.cnblogs.com/aaron-agu/ arp –na #查看 arp –s 123.253.68.209 00:19:56:6F:87:D4 #添加
- sqlserver数据库性能测试方法
测试计划-添加jdbc jar 地址(数据驱动) jdbc configuration 地址 jdbc:sqlserver://127.0.0.1:1433;databasename=XSData j ...