int main(){     //寻找异或的个数     int n;cin >> n;     int sum = 0;     map<int,int> count;     vector<int> dp(n,0);     vector<int> xor_sum(n);     for (int i=0; i<n; i++) {         int temp;cin >> temp;         sum = sum ^ temp;         xor_sum[i] = sum;         if(count[sum] ==0){             count[sum] = i+1;//id+1             //当sum为0的第一次的情况时进行额外的判断一下             if(sum == 0){                 dp[i] = max(dp[0]+1,dp[i-1]);             }         }else{             int start_id = count[sum];             dp[i] = max(dp[start_id-1]+1,dp[i-1]);             count[sum] = i+1;         }     }     //假设到这里了xor_sum = 3 3 1 3     cout << dp[n-1] << endl;          return 0; } 为什么我这代码过不了ac啊。。。求问呢
点赞 3

相关推荐

自由水:这HR已经很好了,多的是已读不回和不读了
点赞 评论 收藏
分享
05-12 11:09
已编辑
门头沟学院 后端
SmileDog12138:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
点赞 评论 收藏
分享
牛客网
牛客企业服务