BZOJ4245 : [ONTAK2015]OR-XOR

news/2024/7/9 5:17:09

按位考虑,逐步确定答案。

设当前是第i位,求出第i位的前缀异或和。

若存在m个0且所有数字异或和为0,那么答案的这一位可以为0,并把所有1的位置给标记为不可选。

否则答案的这一位只能是1。

时间复杂度$O(n\log n)$。

 

#include<cstdio>
#define N 500010
int n,m,i,j,t,b[N],f[N];long long a[N],ans;
inline void read(long long&a){char c;while(!(((c=getchar())>='0')&&(c<='9')));a=c-'0';while(((c=getchar())>='0')&&(c<='9'))(a*=10)+=c-'0';}
int main(){scanf("%d%d",&n,&m);for(i=1;i<=n;i++)read(a[i]),f[i]=1;for(i=59;~i;i--){for(t=0,j=1;j<=n;j++){b[j]=b[j-1]^(a[j]>>i&1);if(!b[j]&&f[j])t++;}if(t>=m&&!b[n]){for(j=1;j<n;j++)if(b[j]&&f[j])f[j]=0;}else ans|=1LL<<i;}return printf("%lld",ans),0;
}

  


http://lihuaxi.xjx100.cn/news/244546.html

相关文章

如何理解jdk8通过行为参数化传递代码

行为参数化可以帮助你处理频繁变更需求的一种软件开发模式。 public static List<Apple> filterApples(List<Apple> inventory,ApplePredicate p){ List<Apple> result new ArrayList<>(); for(Apple apple:inventory){ if(p.te…

linux sar

linux使用sar命令进行系统监视优化 标签&#xff1a; linux磁盘活动systemsolaris任务 2010-12-22 12:50 1304人阅读 评论(0) 收藏 举报 分类&#xff1a;Linux 学习资料&#xff08;53&#xff09; 了解如何将用户抱怨与系统活动报告程序 (SAR) 关联&#xff0c;并使用 S…

jdk8中流的使用(一)

流是java API的新成员&#xff0c;是遍历数据集的高级迭代器&#xff0c;流还可以并行处理&#xff0c;无需写任何多线程代码 流定义&#xff1a;从支持数据处理操作的源生成的元素序列 stream API特点&#xff1a; 1.声明性——更简洁&#xff0c;更易读 2. 可复合——更灵活…

关键词排名下降怎么办-优八学院给你支招

优八学院下面为大家解决一下关于关键词排名下降的问题。在我们进行网站优化的时候&#xff0c;往往会出现关键词排名下降的现象。对于这种情况&#xff0c;我们要区别是否是正常的浮动&#xff0c;由于有时候搜索引擎也会发生错误&#xff0c;导致关键词排名下降&#xff0c;我…

蚂蚁金融科技守护金融安全,蚂蚁风险大脑助阵

摘要&#xff1a;以“数字金融新原力(The New Force of Digital Finance)”为主题&#xff0c;蚂蚁金服ATEC城市峰会于2019年1月4日上海如期举办。金融智能专场分论坛上&#xff0c;蚂蚁金服大安全副总经理王黎强做了主题为《金融科技守护金融安全》的精彩分享。 演讲中&#x…

1380 没有上司的舞会

1380 没有上司的舞会 时间限制: 1 s空间限制: 128000 KB题目等级 : 钻石 Diamond题解题目描述 DescriptionUral大学有N个职员&#xff0c;编号为1~N。他们有从属关系&#xff0c;也就是说他们的关系就像一棵以校长为根的树&#xff0c;父结点就是子结点的直接上司。每个职员有一…

jdk8中流的使用(二)

三.查找和匹配 处理思路&#xff1a;看数据集中的某些元素是否匹配一个给定的元素 Stream API通过allMatch、anyMatch、noneMatch、findFirst和findAny方法提供了这样的工具。 1.检查谓词是否至少匹配一个元素 anyMatch():流中是否有一个元素能匹配给定的谓词 需求&#xff1a;…

虚拟化--006 VCAC的sso配置成功

转载于:https://blog.51cto.com/williamliuwen/1686492