20240716 Codeforces题目
A - Split the Multiset
题目
多集是一组数字,其中可以有相等的元素,数字的顺序无关紧要。例如, { 2 , 2 , 4 } \{2,2,4\} {2,2,4} 是一个multiset。
你有一个多集 S S S 。最初,multiset只包含一个正整数 n n n 。即 S = { n } S=\{n\} S={n} 。另外,还有一个给定的正整数 k k k 。
在一次操作中,您可以选择 S S S 中的任意正整数 u u u ,并从 S S S 中删除一个 u u u 的副本。然后,在 S S S 中插入不超过 k k k 个正整数,使所有插入的整数之和等于 u u u 。
找出使 S S S 包含 n n n 的最小操作次数。
输入
每个测试包含多个测试用例。第一行包含测试用例的数量 t t t ( 1 ≤ t ≤ 1000 1 \le t \le 1000 1≤t≤1000 )。下面是测试用例的描述。
每个测试用例的唯一一行包含两个整数 n , k n,k n,k ( 1 ≤ n ≤ 1000 , 2 ≤ k ≤ 1000 1\le n\le 1000,2\le k\le 1000 1≤n≤1000,2≤k≤1000 )。
输出
对于每个测试用例,打印一个整数,这是所需的答案。
AC代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define fi first
#define se second
#define PII pair<int,int>
void solve()
{int n,k;cin>>n>>k;if(n==1)cout<<"0\n";else{int ans=0;while(n>k){ans++;n=n-k+1;//每次消除k-1}cout<<ans+1<<'\n';}
}
signed main()
{IOSint t;cin>>t;while(t--)solve();return 0;
}
B. Make Majority
题目
给定一个序列 [ a 1 , … , a n ] [a_1,\ldots,a_n] [a1,…,an] ,其中每个元素 a i a_i ai 要么是 0 0 0 ,要么是 1 1 1 。您可以对序列应用多个(可能为零)操作。在每个操作中,您选择两个整数 1 ≤ l ≤ r ≤ ∣ a ∣ 1\le l\le r\le |a| 1≤l≤r≤∣a∣ (其中 ∣ a ∣ |a| ∣a∣ 是 a a a 的当前长度)并将 [ a l , … , a r ] [a_l,\ldots,a_r] [al,…,ar] 替换为单个元素 x x x ,其中 x x x 是 [ a l , … , a r ] [a_l,\ldots,a_r] [al,…,ar] 的大部分。
这里,由 0 0 0 和 1 1 1 组成的序列的大部分定义如下:假设序列中分别有 c 0 c_0 c0 个零和 c 1 c_1 c1 个1。
—如果为 c 0 ≥ c 1 c_0\ge c_1 c0≥c1 ,则多数为 0 0 0 。
— c 0 l t ; c 1 c_0lt;c_1 c0lt;c1 ,多数为 1 1 1 。
例如,假设 a = [ 1 , 0 , 0 , 0 , 1 , 1 ] a=[1,0,0,0,1,1] a=[1,0,0,0,1,1] 。如果我们选择 l = 1 , r = 2 l=1,r=2 l=1,r=2 ,结果序列将是 [ 0 , 0 , 0 , 1 , 1 ] [0,0,0,1,1] [0,0,0,1,1] 。如果我们选择 l = 4 , r = 6 l=4,r=6 l=4,r=6 ,结果序列将是 [ 1 , 0 , 0 , 1 ] [1,0,0,1] [1,0,0,1] 。
确定是否可以通过有限的操作生成 a = [ 1 ] a=[1] a=[1] 。
输入
每个测试包含多个测试用例。第一行包含测试用例的数量 t t t ( 1 ≤ t ≤ 4 ⋅ 1 0 4 1 \le t \le 4\cdot 10^4 1≤t≤4⋅104 )。下面是测试用例的描述。
每个测试用例的第一行包含一个整数 n n n ( 1 ≤ n ≤ 2 ⋅ 1 0 5 1\le n\le 2\cdot 10^5 1≤n≤2⋅105 )。
每个测试用例的第二行包含一个由 0 0 0 和 1 1 1 组成的字符串,描述序列 a a a 。
可以保证所有测试用例的 n n n 之和不超过 2 ⋅ 1 0 5 2\cdot 10^5 2⋅105 。
输出
对于每个测试用例,如果可以生成 a = [ 1 ] a=[1] a=[1] ,则打印YES。否则,打印NO。您可以在任何情况下输出答案(上或下)。例如,字符串yEs、yEs、yEs和yEs将被识别为积极响应。
AC代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define fi first
#define se second
#define PII pair<int,int>
string s,t;
void solve()
{int n;cin>>n;s.clear();cin>>s;t.clear();int a=0,b=0;for(int i=0;i<n;){if(s[i]=='1'){t+=s[i];a++;//一个‘1’为一个‘1’i++;}else{b++;t+='0';while(i<n&&s[i]=='0')i++;//一段连续的‘0’为1个零}}if(a>b)cout<<"YES\n";else cout<<"NO\n";
}
signed main()
{IOSint t;cin>>t;while(t--)solve();return 0;
}
C. Increasing Sequence with Fixed OR
题目
您将得到一个正整数 n n n 。找出满足下列条件的最长正整数序列 a = [ a 1 , a 2 , … , a k ] a=[a_1,a_2,\ldots,a_k] a=[a1,a2,…,ak] ,并输出该序列:
-所有 1 ≤ i ≤ k 1\le i\le k 1≤i≤k 的 a i ≤ n a_i\le n ai≤n 。
— a a a 严格递增。即所有 2 ≤ i ≤ k 2\le i\le k 2≤i≤k 都为 KaTeX parse error: Expected 'EOF', got '&' at position 4: a_i&̲gt;a_{i-1} 。
—所有 2 ≤ i ≤ k 2\le i\le k 2≤i≤k 对应 a i ∣ a i − 1 = n a_i\,|\,a_{i-1}=n ai∣ai−1=n ,其中 ∣ | ∣ 表示位或操作。
输入
每个测试包含多个测试用例。第一行包含测试用例的数量 t t t ( 1 ≤ t ≤ 1000 1 \le t \le 1000 1≤t≤1000 )。下面是测试用例的描述。
每个测试用例的唯一一行包含一个整数 n n n ( 1 ≤ n ≤ 1 0 18 1\le n\le 10^{18} 1≤n≤1018 )。
它保证最长有效序列的长度总和不超过 5 ⋅ 1 0 5 5\cdot 10^5 5⋅105 。
输出
对于每个测试用例,打印两行。在第一行中,打印构造序列 k k k 的长度。在第二行,打印 k k k 正整数,表示序列。如果有多个最长序列,则可以打印其中任何一个。
AC代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int popcount(int x)
{if(!x)return 0;// 如果 x 等于 0,则直接返回 0,因为二进制中没有任何位为 1。int i=0;while((x>>i & 1)==0)++i; // 从低位开始检查 x 的二进制表示,找到第一个为 1 的位。return pow(2,i);// 返回一个值,该值是 2 的 i 次幂,即返回第一个为 1 的位所在的位数的幂次方。
}
void solve()
{int n;cin>>n;vector<int>ans={n};int nn=n;while(nn){int t=popcount(nn);// 2 的第一个 1 的位数幂nn-=t;if(n-t)ans.push_back(n-t);}cout<<ans.size()<<'\n';sort(ans.begin(),ans.end());for(auto x : ans)cout<<x<<' ';cout<<'\n';
}
signed main()
{int t;cin>>t;while(t--)solve();return 0;
}
相关文章:
20240716 Codeforces题目
A - Split the Multiset 题目 多集是一组数字,其中可以有相等的元素,数字的顺序无关紧要。例如, { 2 , 2 , 4 } \{2,2,4\} {2,2,4} 是一个multiset。 你有一个多集 S S S 。最初,multiset只包含一个正整数 n n n 。即 S {…...
29.【C语言】自定义函数
1、自定义详解 *提示:先看第12,19篇 例:写一个程序交换两个变量的值 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void swap(int x, int y) {int z 0;z x;x y;y z; } int main() {int a 10;int b 20;swap(a, b);printf("%d…...
C++面向对象编程 基础篇(3)函数基础
3、函数基础 3.1 函数默认参数 在C中,函数的形参列表中的形参是可以有默认值的 注意事项: 如果某个位置已经有了默认参数,往后的形参都要有默认参数 函数声明和函数实现只能有一个有默认参数 示例: //如果自己传入参数&…...
excel有条件提取单元格特定文本(筛选纯文字的单元格或含有数字的单元格、单元格提取不同的文本长度)
实际工作背景 需要对导出的银行流水中的数十个村以及对应的村小组进行分组统计,但是初始的表格中村和小组是混在一起的,如下图所示: 目的:将大树村和大树村小组名称分别筛选出来 1.观察发现,大树村小组的单元格第4…...
HBase 在统一内容平台业务的优化实践
作者:来自 vivo 互联网服务器团队-Leng Jianyu、Huang Haitao HBase是一款开源高可靠性、扩展性、高性能和灵活性的分布式非关系型数据库,本文围绕数据库选型以及使用HBase的痛点展开,从四个方面对HBase的使用进行优化,取得了一些…...
【异常解决】Unable to start embedded Tomcat Nacos 启动报错
Unable to start embedded Tomcat Nacos 启动报错解决方案 一、背景描述二、原因分析三、解决方案 一、背景描述 Windows 本地启动 Nacos(2.2.0) 服务,控制台报错 Unable to start embedded Tomcat。 报错信息:Unable to start …...
【Java面向对象】对象和类
文章目录 1.为对象定义类2.定义类2.1 主类 3.类与对象3.1 构造方法3.2 通过引用变量访问对象3.3 访问对象的数据和方法3.4 引用数据域和 null 值3.5 基本类型变量和引用类型变量的区别 4.常见的类 1.为对象定义类 面向对象程序设计(OOP) 就是使用对象进行程序设计。对象 (obje…...
在微服务架构架构中父工程中的`<dependencyManagement>`和 `<dependencies>`的区别
在微服务架构架构中父工程中的<dependencyManagement>和 <dependencies>的区别: 在微服务架构中,通常会有一个父工程(或称作聚合工程)来管理一组相关的子模块(即各个微服务)。Maven 的 <de…...
Docker安装Zookeeper、RocketMQ
安装Zookeeper 拉取镜像 docker pull zookeeper:3.9.2启动容器 -d后台启动,-p映射容器2181端口到宿主机2181端口,限制容器最大内存占用为128m,–restart容器自动重启 docker run -d -p 2181:2181 -m 128m --restartalways --name zookeepe…...
Ubuntu 磁盘扩容
1.下载工具 sudo apt-get install gparted 2.调整大小...
如何在QGC中接收和处理无人机上传的各种传感器数据(如GPS、IMU等)。
在 QGroundControl (QGC) 中接收和处理无人机上传的各种传感器数据(如 GPS、IMU 等),主要通过 MAVLink 协议实现。MAVLink 是一种轻量级的消息传输协议,用于无人机和地面站之间的通信。QGC 通过 MAVLink 消息接收来自无人机的传感…...
Spring配置Bean自己的关系:继承和依赖
继承:这里的继承不是Java中类之间的继承, 是指配置文件中Bean配置项之间的继承。 用parent属性,配置要继承的bean,这样可以把相同的部分去去掉,下上两个bean的关系就变成了父bean和子bean, 子bean可以继承父…...
科技与狠活
科技与狠货,已经见怪不怪了 从黑龙江到海南,从上海到新疆,960万平方公里,十三亿人,每个地方都是科技与狠活 在抖音上面看到一个评论,如果蔬菜没科技与狠活,估计会很贵,但是我想到在…...
Vue:axios请求数据转存leanCloud
思路: 采用axios请求需要的数据,查看leanCloud中数据批量存储的格式,将两个数据进行对比,将请求得到的数据封装为云服务存储的格式,再发leanCloud存储数据的请求完成转存 1.封装js代码 //批量操作新增数据 import r…...
实战篇(九):解锁3D魔方的秘密:用Processing编程实现交互式魔方
解锁3D魔方的秘密:用Processing编程实现交互式魔方 使用 Processing 创建一个 3D 魔方效果展示1. 安装 Processing2. 项目结构3. 代码实现4. 代码解释4.1. 初始化魔方4.2. 绘制魔方4.3. 处理鼠标事件4.4. 检查点击的面4.5. 旋转面和最终确定旋转5. 运行和测试6. 细节解释6.1. …...
Android系统上常见的性能优化工具
Android系统上常见的性能优化工具 在Android系统开发中,性能优化是一个重要的任务,有许多工具可以帮助你进行各种方面的性能分析和优化。以下是一些常见的Android性能优化工具及其用途和使用方法: 1. Android Studio Profiler 功能: 提供CP…...
TG创建小程序交互APP登录以及机器人信息
1、搜索 BotFather ,输入命令 /newbot 创建机器人。 2、修改机器人信息 /mybots 编辑名称 : 修改机器人名称 编辑关于: 修改关于 hayden yyds,修改以后打开机器人会出现在下图 编辑描述 : 机器人的描述 编辑描述图片 : 机器人的图片 编辑 Botpic…...
探索大模型能力--prompt工程
1 prompt工程是什么 1.1 什么是Prompt? LLM大语言模型终究也只是一个工具,我们不可能每个人都去训一个大模型,但是我们可以思考如何利用好大模型,让他提升我们的工作效率。就像计算器工具一样,要你算10的10倍&#x…...
【经验分享】运用云服务器实现挂机手机网课的操作,部分手机软件适用
目录 第一步下载手机模拟器 第二步找到模拟器的文件位置 第三步找到模拟器的下载文件进行打包处理 编辑 第四步将模拟器粘贴到云服务器上 第五步运行程序 第六步在模拟器中下载网课软件 第一步下载手机模拟器 这里我下载的是联想模拟器,用来模拟手机环境 随…...
【从0到1进阶Redis】主从复制 — 主从机宕机测试
上一篇:【从0到1进阶Redis】主从复制 测试:主机断开连接,从机依旧连接到主机的,但是没有写操作,这个时候,主机如果回来了,从机依旧可以直接获取到主机写的信息。 如果是使用命令行,来…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
