当前位置:网站首页>"Wei cup" school more than 2022 cattle summer camp 4 Nancy (polocy) pelosi article variance law of Arts
"Wei cup" school more than 2022 cattle summer camp 4 Nancy (polocy) pelosi article variance law of Arts
2022-07-30 22:57:00 【HeartFireY】
N.Particle Arts
题目大意
给定序列 a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a1,a2,…,an,每当两个元素 a a a和 b b b相撞后会湮灭并产生两个新元素 a & b a \& b a&b和 a ∣ b a | b a∣b.若干次碰撞后,方差会收敛.求收敛后的方差.
首先可以发现,任意两个元素相撞变化后,不会引起总和的变化,因此均值是不变的.
那么考虑求经过无限此碰撞后生成的新序列,容易发现因为或操作的性质,二进制下为 1 1 1的位不会消失,那么无限次或操作会将为 1 1 1的位向同一数字靠拢.于是直接按位统计后生成新序列计算即可.
如果使用公式 E ( x 2 ) − E 2 ( x ) E(x^2) - E^2(x) E(x2)−E2(x),需要继续推式子;但可以直接怼上方差公式,但是又会爆long long
,那么可以在运算过程中全部使用__int128
计算,最后转long long
输出.
Code
#include <bits/stdc++.h>
#pragma gcc optimize("O2")
#pragma g++ optimize("O2")
#define int __int128
#define endl '\n'
using namespace std;
const int N = 2e5 + 10, MOD = 1e9 + 7;
long long a[N], b[N], cnt[20];
inline void solve(){
long long n = 0, sum = 0; cin >> n;
for(int i = 1; i <= n; i++) cin >> a[i], sum += a[i];
int cnt0 = 0, cnt1 = 0;
for(int i = 1; i <= n; i++){
for(int j = 0; j < 15; j++){
if((a[i] >> j) & 1) cnt[j]++;
}
}
for(int i = 0; i < 15; i++){
for(int j = 1; j <= cnt[i]; j++) b[j] |= (1 << i);
}
int f1 = 0;
for(int i = 1; i <= n; i++){
f1 += (n * b[i] - sum) * (n * b[i] - sum);
}
int f2 = n * n * n;
int gcdd = __gcd(f1, f2);
//cout << f1 << '@' << f2 << endl;
long long ans1 = f1 / gcdd, ans2 = f2 / gcdd;
//cout << (f1 / gcdd) << '/' << (f2 / gcdd) << endl;
cout << ans1 << '/' << ans2 << endl;
}
signed main(){
ios_base::sync_with_stdio(false), cin.tie(0);
cout << fixed << setprecision(12);
int t = 1; //cin >> t;
while(t--) solve();
return 0;
}
边栏推荐
猜你喜欢
PhpMetrics 使用
【无标题】
PyTorch model export to ONNX file example (LeNet-5)
Apache Doris系列之:深入认识实时分析型数据库Apache Doris
A detailed explanation: SRv6 Policy model, calculation and drainage
#yyds干货盘点# 面试必刷TOP101:判断链表中是否有环
Reverse linked list - head insertion inversion method
Gxlcms有声小说系统/小说听书系统源码
IJCAI2022 Tutorial | Spoken Language Comprehension: Recent Advances and New Fields
VS2017编译Tars测试工程
随机推荐
Rust编译报错:error: linker `cc` not found
IDEA使用技巧
[MySQL] DQL related operations
【LeetCode】64. 最小路径和 - Go 语言题解
2022.7.28
代码越写越乱?那是因为你没用责任链
mysql锁机制
【LeetCode】70. 爬楼梯 - Go 语言题解
只会纯硬件,让我有点慌
2022 Nioke Summer Multi-School Training Camp 1 J Serval and Essay
“蔚来杯“2022牛客暑期多校训练营4 L.Black Hole 垃圾计算几何
Apache Doris系列之:深入认识实时分析型数据库Apache Doris
A detailed explanation: SRv6 Policy model, calculation and drainage
EasyExcel综合课程实战
When Navicat connects to MySQL, it pops up: 1045: Access denied for user 'root'@'localhost'
反转链表-就地逆置法
The problem of sticky packets in tcp protocol transmission
"Code execution cannot continue because MSVCP140.dll was not found, reinstalling the program may resolve the problem, etc." Solutions
Achievements of Science and Technology (31)
ML之shap:基于FIFA 2018 Statistics(2018年俄罗斯世界杯足球赛)球队比赛之星分类预测数据集利用RF随机森林+计算SHAP值单样本力图/依赖关系贡献图可视化实现可解释性之攻略