当前位置:网站首页>“蔚来杯“2022牛客暑期多校训练营4 N
“蔚来杯“2022牛客暑期多校训练营4 N
2022-08-04 12:23:00 【eyuhaobanga】
将答案的公式结合起来化简可得
,
这样不会爆long long,只需要处理出最终趋于稳定的数组的形式,可知a+b=a&b+a|b,操作无数次,总和是不变的
AC代码:
#include <bits/stdc++.h> #define rep(i,a,n) for(int i=a;i<n;i++) using namespace std; using LL = long long; LL gcd(LL x, LL y) { return y == 0 ? x : gcd(y, x % y); } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); LL n; cin >> n; vector<LL> a(n + 1); LL maxx = 0; LL sum = 0; vector<LL> pos(16, 0); for (int i = 1; i <= n; i ++ ) { cin >> a[i]; sum += a[i]; } if (sum == 0) { cout << "0/1\n"; return 0; } for (int i = 1; i <= n; i ++ ) { for (int j = 0; j <= 15; j ++ ) { if(1 << j & a[i]) { pos[j]++; } } } vector<LL> x; for (int i = 1; i <= n; i ++ ) { LL t = 0; for (int j = 15; j >= 0; j -- ) { if(pos[j]) { t += (1 << j); pos[j]--; } } if(t) x.push_back(t); else break; } int len = x.size(); LL ans = -sum * sum; for (int i = 0; i < n; i++) { if (i < len) ans += n * x[i] * x[i]; else { break; } } LL c = gcd(ans, n * n); cout << ans / c << "/" << n * n / c << '\n'; return 0; }
边栏推荐
猜你喜欢
Hands-on Deep Learning_LeNet
shell之循环语句(for、while、until)
基于BiLSTM的回归预测方法
《独行月球》猛药,治不了开心麻花内耗
Flutter使用 json_serializable 解析 JSON 最佳方案
Chinese valentine's day of young people crazy to make money, earn 140000 a week
新消费、出海、大健康......电子烟寻找“避风港”
UMA & Hong Kong Polytechnic & Ali propose SP-ViT to learn 2D space prior knowledge for visual Transformer!
Tapdata 开源项目基础教程:功能特性及实操演示
“蔚来杯“2022牛客暑期多校训练营2 G、J、K
随机推荐
A comprehensive understanding of MOS tubes, an article is enough
罗振宇的A股梦,咋这么难圆?
抗积分饱和PID控制器
基于BiLSTM的回归预测方法
直击面试!阿里金九银十最新面试小册 稳过!
Redis(一)安装与配置
技术分享| 融合调度系统中的电子围栏功能说明
【黑马早报】尚乘数科上市13天,市值超阿里;北大终止陈春花聘用合同;新东方花近200亿退学费和遣散费;张小泉75%产品贴牌代工...
yolo系列的head模块
break与continue超详解!!!
backbone核心详解系列——RepVGG
MOSFET米勒平台(Miller Plateau)
【UML】信息系统分析与设计知识点总结
分布式链路追踪Jaeger + 微服务Pig在Rainbond上的实践分享
动规(16)-并查集基础题——亲戚(Relations)
动手学深度学习_LeNet
The head module of the yolo series
MATLAB——图像分块
AI 助力双碳目标:让每一度电都是我们优化的
用VbScript控制光驱