当前位置:网站首页>“蔚来杯“2022牛客暑期多校训练营4 补题题解(N)
“蔚来杯“2022牛客暑期多校训练营4 补题题解(N)
2022-08-03 00:38:00 【QingQingDE23】
“蔚来杯“2022牛客暑期多校训练营4
觉得有帮助的点个赞! [比赛地址](https://ac.nowcoder.com/acm/contest/33189) [参考的大佬题解](https://zhuanlan.zhihu.com/p/548121328)
N Particle Arts
比赛是想出思路了,但是竟然莫名其妙过不去,可能是因为1e5n的n三次方爆了,但是long long明明可以存下这么多,我不理解

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define db double
const int N = 1e5 + 10;
int n;
int a[N];
int cnt[20]; //记录第i位有几个1,从右往左排n~1
int get_wei(int x){
int res = 0;
while(x){
res ++ ;
x >>= 1;
}
return res;
}
int get_er(int x, int y){
//x这个数有y位二进制数
int res = 0;
for(int i = 1; i <= y; i ++ ){
if(x & 1){
res ++ ;
cnt[i] ++ ;
}
x >>= 1;
}
return res;
}
int tui(int iu){
//填充1
int res = 0;
for(int i = iu; i >= 1; i -- ){
if(cnt[i]){
res ++ ;
cnt[i] -- ;
}
res <<= 1;
}
res >>= 1;
return res;
}
int gcd(int a, int b){
if(b) return gcd(b, a % b);
else return a;
}
int li; //记录1的个数
int iu; //最高位有几位
int sum; //计算数值和
int ans1, ans2;
int sut;
signed main()
{
cin>>n;
for(int i = 0; i < n; i ++ ){
scanf("%lld", &a[i]);
sum += a[i];
int r = get_wei(a[i]);
iu = max(iu, r); //记录最高位数
li += get_er(a[i], r); //累加1的个数
}
//sum已记录
for(int i = 0; i < n; i ++ ){
//填充n个数
int t = tui(iu);
ans1 += t * t;
sut += sum * t;
}
ans1 *= n;
ans1 += sum * sum;
ans1 -= 2 * sut;
ans2 = n * n;
int ou = gcd(ans1, ans2);
if(ou > 1){
ans1 /= ou;
ans2 /= ou;
}
//最小公倍数*最大公约数=a*b
//最小公倍数=ans1*n/最大公约数
if(ans1 == 0) cout<<"0/1"<<endl;
else cout<<ans1<<"/"<<ans2<<endl;
return 0;
}
边栏推荐
- 2022-08-02:小红拿到了一个大立方体,该大立方体由1*1*1的小方块拼成,初始每个小方块都是白色。 小红可以每次选择一个小方块染成红色, 每次小红可能选择同一个小方块重复染色, 每次染色以后,
- 向往的生活
- vue3的keepAlive缓存组件
- 面试题 08.07. 无重复字符串的排列组合 ●●
- 接口流量突增,如何做好性能优化?
- 担心的事情
- v-if、v-else、v-elseif v-show v-for
- Auto.js special positioning control method cannot perform blocking operations on the ui thread, please use setTimeout instead
- Carefully organize 16 MySQL usage specifications to reduce problems by 80% and recommend sharing with the team
- PAT甲级 1051 Pop Sequence
猜你喜欢

高并发基石:多线程、守护线程、线程安全、线程同步、互斥锁,一文扫尽!...

可编程逻辑控制器(PLC) : 基础、类型和应用

Servlet——请求(request)与响应(response)

吴恩达深度学习deeplearning.ai——第一门课:神经网络与深度学习——第二节:神经网络基础(上)

软件测试从业多年,自认为技术不错,裸辞:一晃 ,失业3个月了~

【多线程】线程与进程、以及线程进程的调度

关于地图GIS开发事项的一次实践整理(上)

NLP commonly used Backbone model cheat sheet (1)

和睦家私有化后换帅:新风天域吴启楠任CEO 李碧菁靠边站

从 npm 切换到 pnpm,真香!
随机推荐
记一次sql优化Using temporary; Using filesort
做快乐的事情
流程控制for和while循环语句
Nuxt 所有页面都设置上SEO相关标签
麒麟信安邀您抢先看 | openEuler 志高远,开源汇智创未来-开放原子全球开源峰会欧拉分论坛最详细议程出炉
MySQL删库不跑路
如何修复 SAP UI5 aggregation with cardinality 0..1 相关的错误消息
向往的生活
Wireshark数据抓包分析之传输层协议(TCP协议)
鲲鹏devkit开发套件
高并发基石:多线程、守护线程、线程安全、线程同步、互斥锁,一文扫尽!...
7.31
电压传感器: 工作原理、类型及电路图
alibaba数据同步组件canal的实践整理
random.nextint()详解
增删改查这么多年,最后栽在MySQL的架构设计上!
mysql容器数据卷持久化
牛客网剑指offer刷题练习之链表中环的入口结点
12-security退出.md
吴恩达深度学习deeplearning.ai——第一门课:神经网络与深度学习——第一节:深度学习概论