news 2026/6/7 7:17:25

打卡信奥刷题(3366)用C++实现信奥题 P9667 [ICPC 2022 Jinan R] Tower

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(3366)用C++实现信奥题 P9667 [ICPC 2022 Jinan R] Tower

P9667 [ICPC 2022 Jinan R] Tower

题目描述

庞教授搭了nnn座不同高度的塔。第iii座塔的高度是aia _ {i}ai

寿教授不喜欢这些参差不齐的塔。他决定先去掉它们中的mmm,然后执行以下操作中的一些(或不执行):

  • 选择一座塔并增加它111个单位高度。
  • 选择一座塔并减少它111个单位高度。
  • 选择一座塔并把它的高度aia _ {i}ai除以222,如果它不是整数的话,向下取整。

寿教授永远不会选择被拆除的塔。如果操作后,塔的高度变为000,则不允许操作。在这些约束条件下,寿教授可以按任意顺序执行任意数量的运算。

寿教授希望所有没有被拆除的塔都有相同的高度aia _ {i}ai。请计算实现此目标的最小操作次数。

输入格式

第一行是一个整数T(1⩽T(1\leqslantT(1TTT⩽\leqslant10)10)10),表示有TTT组数据。

对于每组测试数据,第一行包括两个整数n,m(1⩽n,m (1\leqslantn,m(1nnn⩽\leqslant500500500,000⩽\leqslantmmm⩽n\leqslant nn),表示塔的数量以及寿教授在执行操作之前应该删除的塔的数量。

下一行包括nnn个整数a1,…,an(1⩽a _ {1},\dots,a _ {n} (1\leqslanta1,,an(1aia _ {i}ai⩽\leqslant109)10^9)109),表示塔的最初高度。

输出格式

对于每组测试数据,在一行中输出最小操作数。

输入输出样例 #1

输入 #1

3 2 0 2 6 5 0 1 2 3 4 5 5 3 1 2 3 4 5

输出 #1

2 4 1

C++实现

#include<bits/stdc++.h>usingnamespacestd;#defineN505#defineintlonglongintn,m,i,j,ans,a[N],t,s[N];vector<int>G;signedmain(){scanf("%lld",&t);while(t--){G.clear();scanf("%lld%lld",&n,&m),ans=1e9;for(i=1;i<=n;i++)scanf("%lld",&a[i]);for(i=1;i<=n;i++){intk=a[i];while(k){G.push_back(k);k>>=1;}}for(inty:G){for(i=1;i<=n;i++)s[i]=1e9;for(i=1;i<=n;i++){intk=a[i],cnt=0;while(k>=1){s[i]=min(s[i],cnt+abs(k-y));k>>=1,cnt++;}}sort(s+1,s+1+n);intsum=0;for(i=1;i<=n-m;i++)sum+=s[i];ans=min(ans,sum);}printf("%lld\n",ans);}return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/7 7:13:38

从安装插件到实战分析:Visual VM排查Java线程死锁的保姆级教程

从安装插件到实战分析&#xff1a;Visual VM排查Java线程死锁的保姆级教程在Java高并发开发中&#xff0c;线程死锁如同潜伏的暗礁&#xff0c;稍有不慎就会让整个系统陷入停滞。作为开发者&#xff0c;我们需要的不仅是一把能快速定位问题的"手术刀"&#xff0c;更需…

作者头像 李华
网站建设 2026/6/7 7:10:54

数据科学家的SQL能力地图:从语法到业务建模的实战跃迁

1. 项目概述&#xff1a;这不是题库&#xff0c;而是一张数据科学家的SQL能力地图“70 SQL Interview Questions Every Data Scientist Should Know”——看到这个标题&#xff0c;很多人第一反应是&#xff1a;又一份面试刷题清单。但在我带过37个数据科学团队、审过2100份SQL…

作者头像 李华
网站建设 2026/6/7 7:06:11

BigQuery自然语言查询系统:从意图识别到安全SQL生成

1. 项目概述&#xff1a;让BigQuery数据开口说话&#xff0c;不是魔法&#xff0c;是工程落地的必然选择“Chat with Your BigQuery Data”——这个标题乍看像一句营销口号&#xff0c;但在我过去三年深度参与十几个企业级数据分析平台建设的过程中&#xff0c;它早已不是概念&…

作者头像 李华