acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
登录
注册
题目详情提交记录(0)
  • 题解

    userId_undefined

    zsy

    时空双修者题解仙人7月全勤卷王8月全勤卷王秩序白银快乐小狗
    92阅读
    4回复
    2点赞
  • 题解(口胡)

    根据 Nim\text{Nim}Nim 博弈的性质可知: * 当异或和为 000 时,先手必败。 * 当异或和不为 000 时,先手必胜,只要在某一堆取出一定量的石子使异或和为 000 即可。 记 AAA 数组异或和为 XXX,则答案为 ∑i=1n[X⊕Ai≤Ai]\sum_{i=1}^n [X\oplus A_i\le A_i]∑i=1n [X⊕Ai ≤Ai ]。显然可以 O(N)O(N)O(N) 求出。 当然,如果 X=0X=0X=0,记得特判输出 000。

    userId_undefined

    cjdstttttt

    时空双修者题解仙人尊贵铂金勇敢小狗CSP-J一等奖出题人
    79阅读
    0回复
    4点赞
  • A49076.nim游戏

    Nim板子题,不做解释,如有疑问请百度/洛谷题解。 Code:

    userId_undefined

    亚洲卷王 AK IOI

    尊贵铂金出题人
    62阅读
    0回复
    2点赞
  • esay

    #include<bits/stdc++.h> #define int long long using namespace std; signed main(){ int n,a[1000010],sum=0; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; sum^=a[i]; } if(sum==0) cout<<0; else{ int cnt=0; for(int i=0;i<n;i++){ int x=sum^a[i]; if(x<a[i]){ cnt++; } } cout<<cnt; } return 0; }

    userId_undefined

    路大凤⁡

    出道萌新7月全勤卷王枚举·枚举小能手时间刺客模拟·模拟练习生递归·套娃学徒
    34阅读
    0回复
    0点赞
  • 题解(包对的)C++

    #include<bits/stdc++.h> #define int long long using namespace std; signed main(){ int n,a[1000010],sum=0; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; sum^=a[i]; } if(sum==0) cout<<0; else{ int cnt=0; for(int i=0;i<n;i++){ int x=sum^a[i]; if(x<a[i]){ cnt++; } } cout<<cnt; } return 0; }

    userId_undefined

    E

    禁言
    出道萌新时间刺客空间掌握者倔强青铜格式·格式排版员分治·分治练习生
    9阅读
    0回复
    0点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页