t
a
g
:
tag:
tag:异或
思维
贪心
*1100
传送门 :
题意 : 给定一个数组,询问 是否可以将数组分为任意段,使得每段中的最长上升子序列的异或值为 0 0 0
思路 :
我们分贪心的分奇偶进行考虑
-
数组长度是偶数 我们将每个数看成一组,那么 1 ⊕ 1 ⊕ . . . 1 = 0 1\oplus 1\oplus...1=0 1⊕1⊕...1=0
-
如果数组长度是奇数的话 我们考虑将奇数提出一个数来,使得剩下的数组变为偶数,即其中一个分组中需要 [ x , y ] [x,y] [x,y]并且 x > = y x>=y x>=y
不知道是不是 A c w i n g Acwing Acwing对 & , ∣ , ⊕ \& ,|,\oplus &,∣,⊕讲的很少的原因(其实也没多少内容要讲)
总之就是对位运算不是很熟悉,位运算的同时牵扯到一些思考,我就感觉是很难的题了 code :
int n;
int a[N];
void solve(){
cin>>n;
for(int i=1;i>a[i];
int cnt = 0 ;
for(int i = 2; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?