当前位置: 首页 > news >正文

Codeforces Round 841 (Div. 2) C. Even Subarrays

题目

思路:

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pb push_back
#define fi first
#define se second
#define lson p << 1
#define rson p << 1 | 1
const int maxn = 1e6 + 5, inf = 1e9, maxm = 4e4 + 5;
const int mod = 1e9 + 7;
// const int mod = 998244353;
const int N = 2e5;
// int a[505][5005];
// bool vis[505][505];
// char s[505][505];
int a[maxn], b[maxn];
int vis[maxn];
string s;
int n, m;struct Node{int val, id;bool operator<(const Node &u)const{return val < u.val;}
};
// Node c[maxn];// int ans[maxn], pre[maxn];int cnt[maxn];bool issq(int x){int sq = sqrt(x);return sq * sq == x;
}
//long long ? maxn ?
void solve(){int res = 0;int q, k;int x;cin >> n;int mx = 0;for(int i = 1; i <= n; i++){cin >> a[i];mx = max(mx, a[i]);}mx = (1LL << (__lg(mx) + 1)) - 1;int sq = sqrt(mx);// m = sq;int sum = 0;int Xor = 0;res = n * (n - 1) / 2 + n;for(int j = 0; j <= sq; j++){int val = j * j;for(int i = 0; i <= mx; i++){cnt[i] = 0;}cnt[0] = 1;//不选前缀也是一种选法Xor = 0;//每次都得置0for(int i = 1; i <= n; i++){//求异或和为某个数的子区间个数,求法跟两数之和为某个数的求法一样Xor ^= a[i];sum += cnt[val ^ Xor];// cout << val << ' ' << (val ^ Xor) << ' ' << cnt[val ^ Xor] << '\n';cnt[Xor]++;}}res -= sum;cout << res << '\n';
}signed main(){ios::sync_with_stdio(0);cin.tie(0);// for(int i = 1; i <= N; i++){//     for(int j = i; j <= N; j += i){//         d[j]++;//     }// }// int cnt = 0;// for(int i = 1; i <= N; i++){//     if(d[i] % 2 == 0){//         cnt++;//     }//     else{//         cout << i << ' ';//     }// }// cout << cnt << '\n';int T = 1;cin >> T;while (T--){solve();}return 0;
}

http://www.lryc.cn/news/327495.html

相关文章:

  • 用 SpringBoot+Redis 解决海量重复提交问题
  • 前端基础知识html
  • 网络原理-传输层-UDP报文结构
  • TCP/IP参考模型(四层及其解析)
  • 2024第六届环境科学与可再生能源国际会议能源 (ESRE 2024) 即将召开!
  • CentOS配置docker外部访问
  • 面试前端八股文十问十答第二期
  • 【漏洞复现】大华综合安防监控管理平台 Digital Surveillance System系统存在RCE漏洞
  • ssm网上订餐管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目采用线性算法
  • python 进程之由浅入深
  • 公链角逐中突围,Solana 何以成为 Web3 世界的流量焦点?
  • 算法设计-杨辉三角
  • Linux swatch命令教程:实时监视系统活动(附实例详解和注意事项)
  • C/C++语言学习路线: 嵌入式开发、底层软件、操作系统方向(持续更新)
  • SAP-CO主数据之统计指标创建-<KK01>
  • Eclipse+Java+Swing实现斗地主游戏
  • postgres12.4安装pg_rman-1.3.16
  • Word邮件合并
  • git的安装与配置教程-超详细版
  • 李宏毅【生成式AI导论 2024】第5讲 让语言模型彼此合作,把一个人活成一个团队
  • Unity 实现鼠标左键进行射击
  • 数据库---PDO
  • asyncio和 aiohttp
  • 微服务demo(三)nacosfeign
  • 学浪视频如何录屏保存?
  • c++中2种返回变量类型名称的方法
  • python仿真报告自动化——excite TD齿轮角加速度级计算
  • 如何系统的学习 C#
  • python爬虫----python列表高级
  • 目标检测的相关模型图:YOLO系列和RCNN系列