【每日一题】—— B. Arrays Sum (Grakn Forces 2020)

news2025/2/24 8:00:22

🌏博客主页:PH_modest的博客主页
🚩当前专栏:每日一题
💌其他专栏:
🔴 每日反刍
🟡 C++跬步积累
🟢 C语言跬步积累
🌈座右铭:广积粮,缓称王!

一.题目描述

在这里插入图片描述

题目大意:

翻译来自洛谷

题目链接:

B. Arrays Sum (Grakn Forces 2020)

二.思路分析

这题是一个贪心模拟题
首先ai=b1i+b2i+…+bki;如下图:
在这里插入图片描述
所以我们可以尝试每次b的取值都和a相等,一直取到k次,k次之后就不改变b的取值,以此往复。
在这里插入图片描述
最后考虑一下特殊情况,就是k为1的时候,如果a数组里的值不是全相等的话,无法实现,因为第一个数肯定是0,如果k为1那么b的

三.代码展示

//https://codeforces.com/problemset/problem/1408/B
//再k次以内优先选择最优的数
//
#include<iostream>
#include<algorithm>
#define int long long
using namespace std;

int s[200020];

void solve()
{
	int n,k;
	cin>>n>>k;
	for(int i=0;i<n;i++)
	{
		cin>>s[i];
	}
	//特判
	if(k==1&&s[0]!=s[n-1])
	{
		cout<<"-1"<<"\n";
		return;
	}
	int ans=0;//记录答案
	while(s[n-1]!=0)
	{
		int cur=s[0];
		int count=0;//记录与k的次数
		for(int j=0;j<n;j++)
		{
			if(s[j]==cur)
			{
				s[j]=0;
			}
			else
			{
				if(count!=k)
				{
					cur=s[j];
					count++;
					j--;
					continue;
				}
				else
				{
					for(int i=j;i<n;i++)
					{
						s[i]-=cur;
					}
					break;
				}
			}
		}
		ans++;
	}
	cout<<ans<<"\n";
}

signed main()
{
	int t;
	cin>>t;
	while(t--)
	{
		solve();
	}
	return 0;
}

最后:

每日一题系列旨在养成刷题的习惯,所以对代码的解释并不会特别详细,但足够引导大家写出来,选的题目都不会特别难,但也不是特别简单,比较考验大家的基础和应用能力,我希望能够将这个系列一直写下去,也希望大家能够和我一起坚持每天写代码。

之后每个星期都会不定期更新codeforces和atcoder上的题目,想要学习算法的友友们千万别错过了,有什么疑问欢迎大家在评论区留言或者私信博主!

在这里送大家一句话:广积粮,缓称王!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1111456.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GO 语言的方法??

GO 中的方法是什么&#xff1f; 前面我们有分享到 GO 语言的函数&#xff0c;他是一等公民&#xff0c;那么 GO 语言中的方法和函数有什么区别呢&#xff1f; GO 语言中的方法实际上和函数是类似的&#xff0c;只不过在函数的基础上多了一个参数&#xff0c;这个参数在 GO 语…

深度学习(12)之模型训练[训练集、验证集、过拟合、欠拟合]

模型训练[训练集、验证集、过拟合、欠拟合] 在不断补充训练数据集的过程中&#xff0c;发现纯粹增加数据集并不会使得模型效果单向地变好&#xff0c;如果是多目标检测模型的话&#xff0c;常会出现精度变低的现象本文想总结在模型训练时的一些注意事项&#xff0c;比如训练集…

云务器迁移(腾讯云>华为云)

自己平时除了写些bug外还喜欢玩玩服务器&#xff0c;这不前几年买了一个域名&#xff0c;当时服务器买的是阿里云的&#xff0c;想着域名备案挺麻烦的就一直用着&#xff0c;只是在服务器到期后会重新购买其他运营商的&#xff08;关键是续不起&#x1f92b;&#xff09; 这不最…

华为eNSP配置专题-VRRP的配置

文章目录 华为eNSP配置专题-VRRP的配置0、参考文档1、前置环境1.1、宿主机1.2、eNSP模拟器 2、基本环境搭建2.1、基本终端构成和连接 2.VRRP的配置2.1、PC1的配置2.2、接入交换机acsw的配置2.3、核心交换机coresw1的配置2.4、核心交换机coresw2的配置2.5、配置VRRP2.6、配置出口…

基于Java的企业门户管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

linux性能分析(三)查看系统的性能指标

一 查看系统的性能指标 这里简略的将系统监控指标分为&#xff1a;cpu、memory、disk、network、os 五大类强调&#xff1a; 这五类命令的输出与/proc虚目录下的文件信息强相关说明&#xff1a; 后续专门讲解这五大类的系统命令,尽可能全面罗列每个工具的使用场景补充&#x…

智能水印相机微信小程序源码

相信大家日常在生活中或者工作中都有使用过水印相机来拍照记录吧&#xff0c;但是又要在手机上面多下载一个APP。 那么小编今天给大家带来一款智能水印相机&#xff0c;拍照自动添加时间、地点、经纬度等水印文字&#xff0c;可用于工作考勤、学习打卡、工作取证等&#xff0c…

深度学习 | Pytorch深度学习实践 (Chapter 1~9)

一、overview 基于pytorch的深度学习的四个步骤基本如下&#xff1a; 二、线性模型 - Linear Model 基本概念 数据集分为测试集和训练集&#xff08;训练集、开发集&#xff09;训练集&#xff08;x&#xff0c;y&#xff09;测试集只给&#xff08;x&#xff09;过拟合&#…

世界国家/地区行驶方向数据

Part1数据背景 道路通行方向规则是交通规则的重要部分之一。不同国家及地区通行方向并不一样&#xff0c;受风俗、习惯、风潮因素等影响。 最近也在学道路行驶&#xff0c;结果差强人意&#xff0c;继续努力吧。祝学车的小伙伴们一次过~ Part2数据详情 今天分享的国家/地区行…

二叉搜索树的详解及Map和Set的介绍

目录 1.二叉搜索树 1.1二叉搜索树的介绍 1.2.二叉搜索树的实现 1.2.1二叉搜索树的创建 1.2.2查找关键字 1.2.3插入 1.2.4删除 1.3二叉搜索树的性能分析 2.Map Map官方文档 2.1Map 的常用方法说明 2.2关于Map.Entry的说明,> 2.3注意事项 2.4reeMap和HashMap的区别 …

Django小白开发指南

文章目录 HTTP协议socket实现一个web服务器WSGI实现一个web服务器WSGI实现支持多URL的web服务器WSGI实现图片显示的web服务器MVC && MTV1.MVC2.MTV3.总结 一、创建Django项目1.创建项目2.创建app3.第一次django 请求 二、模板1.配置settings.py2.模板语法3.继承模板 三…

[云原生1.]Docker数据管理与Cgroups资源控制管理

文章目录 1. Docker的数据管理1.1 数据卷1.1.1 示例 1.2 数据卷容器 2. 容器互联3. Cgroups资源控制管理3.1 简介3.2 cgroups的主要功能3.3 cpu时间片的简单介绍3.4 对CPU使用的限制3.4.1 对CPU使用的限制&#xff08;基于单个容器&#xff09;3.4.2 对CPU使用的限制&#xff0…

MySQL高可用架构学习

MHA&#xff08;Master HA&#xff09;是一款开源的由Perl语言开发的MySQL高可用架构方案。它为MySQL 主从复制架构提供了 automating master failover 功能。MHA在监控到 master 节点故障时&#xff0c;会提升其中拥有最新数据的 slave 节点成为新的 master 节点&#xff0c;在…

基于Java的农资采购销售管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

(转)STR 内核做了什么

参考这篇文章&#xff1a; Linux电源管理(6)_Generic PM之Suspend功能 写的很清晰

了解SUI质押和发行计划

SUI是Sui链上的原生资产&#xff0c;总供应量100亿个&#xff0c;并非所有SUI token在一开始就完全流通。相反&#xff0c;随着Sui生态的发展&#xff0c;新token将逐步解锁以奖励生态的早期支持者。质押补贴用于支持网络当前的运营&#xff0c;并由Sui基金会分发给Sui的构建者…

<C++> 模拟实现string

目录 前言 一、模拟实现string 1. 成员变量 2. 构造函数 2.1 构造函数 2.2 重载默认构造 2.3 合并 3. 析构函数 4. 拷贝构造函数 5. c_str 6. size 7. operator[ ] 7.1 普通版 7.2 const版本 8. 迭代器—iterator 8.1 普通版iterator 8.2 const版本iterator 9. 尾插 10. …

数学笔记——直角坐标方程转参数方程

目录 背景第一步&#xff0c;原式转换成参数方程第二步&#xff0c;将参数方程绕x轴旋转一周结果程序与图形注 背景 学习matlab三维作图时遇到的一道题&#xff0c;搞不懂为什么要将直角方程转换成参数方程&#xff0c;在经过多次直角作图失败后&#xff0c;还是决定老老实实学…

Redis入门到实战(四、原理篇)RESP协议

目录 2、Redis内存回收-过期key处理3、Redis内存回收-内存淘汰策略 Redis是一个CS架构的软件&#xff0c;通信一般分两步&#xff08;不包括pipeline和PubSub&#xff09;&#xff1a; 客户端&#xff08;client&#xff09;向服务端&#xff08;server&#xff09;发送一条命令…

【LeetCode-数组】-- 寻找数组的中心索引

寻找数组的中心索引 class Solution {public int pivotIndex(int[] nums) {int n nums.length,sum 0;for(int i 0;i<n;i){ //计算所有元素之和sumnums[i];}int sum_l 0; //统计左边元素之和for(int i 0;i<n;i){sum - nums[i];if(sum_l sum){return i;}sum_l nums…