首页 > 其他分享 >CF1213D1的题解

CF1213D1的题解

时间:2024-03-27 12:34:15浏览次数:37  
标签:cnt CF1213D1 int 题解 sum pos add

(一)

直接暴力!!!

对于每一个数,枚举它能生成的数。

然后对于每一个可能的答案,开长度为 \(k\) 的优先队列维护,同时统计操作次数和。

时间复杂度为 \(Θ(\log^2_2n)\)。
惊讶地发现顺便把双倍经验给切了。(卡过)

(二)

AC 代码。

#include<bits/stdc++.h>
using namespace std;
int cnt,n,k,sum[200010],ans=INT_MAX;
priority_queue<int>q[200010];
void add(int x,int pos){
	if(q[pos].size()<k)sum[pos]+=x,q[pos].push(x);
	else if(q[pos].top()>x){
		sum[pos]-=q[pos].top();
		q[pos].pop();
		sum[pos]+=x;
		q[pos].push(x);
	}
}
int main(){
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;i++){
		int x;
		scanf("%d",&x);
		add(0,x);
		int cnt=0;
		while(x){
			cnt++;
			x>>=1;
			add(cnt,x);
		}
	}
	for(int i=0;i<=200000;i++)
		if(q[i].size()==k)ans=min(ans,sum[i]);
	printf("%d",ans);
	return 0;
} 

标签:cnt,CF1213D1,int,题解,sum,pos,add
From: https://www.cnblogs.com/Jh763878/p/18098711

相关文章

  • CF1922C的题解
    (一)从\(i\)到\(j\)有两种走法,一种是用\(a_j-a_i\)的代价,一种是用\(1\)的代价,前提是\(j\)是\(i\)最近的。显然如果符合条件选第二种。先考虑从左向右走。(和从右向左相同)考虑走到了节点\(i\),如果\(a_{i+1}-a_{i}>a_{i}-a_{i-1}\),那么花费\(1\)的代价向右走,否则花......
  • AT_arc169_a的题解
    (一)由于每次把子节点的权值加到父节点中,深度越深影响越大。将\(1\)号节点视作父节点,不难发现,同一深度的节点对其贡献度相等,都为\(1\timesnow\val\)。因为\(10^{100}\)极大,所以统计每层权值和,从深往浅扫。(二)AC代码。#include<bits/stdc++.h>#defineintlonglongus......
  • CF1922B的题解
    (一)因为\(2^{n}+2^{n}=2^{n+1}\)。设取的三个数为\(2^i\),\(2^j\),\(2^k\),\(i\lej\lek\)。因为\(2^i+2^j>2^k\),所以\(j=k\)。(反证法易证)此时\(i\)任意取。注意不要重复取。将答案分为两类计算,\(i=j=k\)和\(i<j=k\)。(二)AC代码。#include<bits/stdc++.h>#define......
  • 20240327每日一题题解
    20240327每日一题题解Problem一些整数可能拥有以下的性质:性质1:是偶数;性质2:大于\(4\)且不大于\(12\)。小A喜欢这两个性质同时成立的整数;Uim喜欢这至少符合其中一种性质的整数;小B喜欢刚好有符合其中一个性质的整数;正妹喜欢不符合这两个性质的整数。现在给出一个......
  • 第三届信大超越杯团体赛题解
    第三届信大超越杯团体赛题解A红红找蓝蓝​​​​题解:宽搜bfs,定义状态{x,y,d,Dir}表示:到(x,y)点拐了d次弯,上一次的方向为Dir与最短路不同的是,我们从一个点出发要把一个方向上的所有点加入队列,因为这个方向上所有点的拐弯数都只是+1,为了维护先搜到的点拐弯数越少,就要把一个方向......
  • 【蓝桥杯选拔赛真题48】C++九进制回文数 第十四届蓝桥杯青少年创意编程大赛 算法思维
    目录C++九进制回文数一、题目要求1、编程实现2、输入输出二、算法分析三、程序编写四、程序说明五、运行结果六、考点分析七、推荐资料C++九进制回文数第十四届蓝桥杯青少年创意编程大赛C++选拔赛真题一、题目要求1、编程实现提示信息:回文数:反向排列与原......
  • [题解]P5858 Golden Sword
    P5858「SWTR-3」GoldenSword第一道自己想出递推公式并且成功\(AC\)的\(dp\)绿题。题意简述有\(n\)种原料,每个原料有一个耐久度\(a[i]\),必须按照\(1,2,…,n\)的顺序放入炼金锅。但是炼金锅的容量是有限的,只有\(w\),所以在每次放入原料之前,都可以选择取出\(0\sims\)个原料再放......
  • 启动应用程序出现dmrc.dll找不到问题解决
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个dmrc.dll文件(挑选合适的版本文件)把它放入......
  • 启动应用程序出现dmusic.dll找不到问题解决
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个dmusic.dll文件(挑选合适的版本文件)把它放......
  • 启动应用程序出现dot3hc.dll找不到问题解决
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个dot3hc.dll文件(挑选合适的版本文件)把它放......