当前位置: 首页 > news >正文

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 1t1000 )。下面是测试用例的描述。

每个测试用例的唯一一行包含两个整数 n , k n,k n,k ( 1 ≤ n ≤ 1000 , 2 ≤ k ≤ 1000 1\le n\le 1000,2\le k\le 1000 1n1000,2k1000 )。

输出

对于每个测试用例,打印一个整数,这是所需的答案。

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| 1lra (其中 ∣ 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 c0c1 ,则多数为 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 1t4104 )。下面是测试用例的描述。

每个测试用例的第一行包含一个整数 n n n ( 1 ≤ n ≤ 2 ⋅ 1 0 5 1\le n\le 2\cdot 10^5 1n2105 )。

每个测试用例的第二行包含一个由 0 0 0 1 1 1 组成的字符串,描述序列 a a a

可以保证所有测试用例的 n n n 之和不超过 2 ⋅ 1 0 5 2\cdot 10^5 2105

输出

对于每个测试用例,如果可以生成 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 1ik a i ≤ n a_i\le n ain
a a a 严格递增。即所有 2 ≤ i ≤ k 2\le i\le k 2ik 都为 KaTeX parse error: Expected 'EOF', got '&' at position 4: a_i&̲gt;a_{i-1}
—所有 2 ≤ i ≤ k 2\le i\le k 2ik 对应 a i ∣ a i − 1 = n a_i\,|\,a_{i-1}=n aiai1=n ,其中 ∣ | 表示位或操作。

输入

每个测试包含多个测试用例。第一行包含测试用例的数量 t t t ( 1 ≤ t ≤ 1000 1 \le t \le 1000 1t1000 )。下面是测试用例的描述。

每个测试用例的唯一一行包含一个整数 n n n ( 1 ≤ n ≤ 1 0 18 1\le n\le 10^{18} 1n1018 )。

它保证最长有效序列的长度总和不超过 5 ⋅ 1 0 5 5\cdot 10^5 5105

输出

对于每个测试用例,打印两行。在第一行中,打印构造序列 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 题目 多集是一组数字&#xff0c;其中可以有相等的元素&#xff0c;数字的顺序无关紧要。例如&#xff0c; { 2 , 2 , 4 } \{2,2,4\} {2,2,4} 是一个multiset。 你有一个多集 S S S 。最初&#xff0c;multiset只包含一个正整数 n n n 。即 S {…...

29.【C语言】自定义函数

1、自定义详解 *提示&#xff1a;先看第12,19篇 例&#xff1a;写一个程序交换两个变量的值 #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中&#xff0c;函数的形参列表中的形参是可以有默认值的 注意事项&#xff1a; 如果某个位置已经有了默认参数&#xff0c;往后的形参都要有默认参数 函数声明和函数实现只能有一个有默认参数 示例&#xff1a; //如果自己传入参数&…...

excel有条件提取单元格特定文本(筛选纯文字的单元格或含有数字的单元格、单元格提取不同的文本长度)

实际工作背景 需要对导出的银行流水中的数十个村以及对应的村小组进行分组统计&#xff0c;但是初始的表格中村和小组是混在一起的&#xff0c;如下图所示&#xff1a; 目的&#xff1a;将大树村和大树村小组名称分别筛选出来 1.观察发现&#xff0c;大树村小组的单元格第4…...

HBase 在统一内容平台业务的优化实践

作者&#xff1a;来自 vivo 互联网服务器团队-Leng Jianyu、Huang Haitao HBase是一款开源高可靠性、扩展性、高性能和灵活性的分布式非关系型数据库&#xff0c;本文围绕数据库选型以及使用HBase的痛点展开&#xff0c;从四个方面对HBase的使用进行优化&#xff0c;取得了一些…...

【异常解决】Unable to start embedded Tomcat Nacos 启动报错

Unable to start embedded Tomcat Nacos 启动报错解决方案 一、背景描述二、原因分析三、解决方案 一、背景描述 Windows 本地启动 Nacos&#xff08;2.2.0&#xff09; 服务&#xff0c;控制台报错 Unable to start embedded Tomcat。 报错信息&#xff1a;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>的区别&#xff1a; 在微服务架构中&#xff0c;通常会有一个父工程&#xff08;或称作聚合工程&#xff09;来管理一组相关的子模块&#xff08;即各个微服务&#xff09;。Maven 的 <de…...

Docker安装Zookeeper、RocketMQ

安装Zookeeper 拉取镜像 docker pull zookeeper:3.9.2启动容器 -d后台启动&#xff0c;-p映射容器2181端口到宿主机2181端口&#xff0c;限制容器最大内存占用为128m&#xff0c;–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) 中接收和处理无人机上传的各种传感器数据&#xff08;如 GPS、IMU 等&#xff09;&#xff0c;主要通过 MAVLink 协议实现。MAVLink 是一种轻量级的消息传输协议&#xff0c;用于无人机和地面站之间的通信。QGC 通过 MAVLink 消息接收来自无人机的传感…...

Spring配置Bean自己的关系:继承和依赖

继承&#xff1a;这里的继承不是Java中类之间的继承&#xff0c; 是指配置文件中Bean配置项之间的继承。 用parent属性&#xff0c;配置要继承的bean&#xff0c;这样可以把相同的部分去去掉&#xff0c;下上两个bean的关系就变成了父bean和子bean&#xff0c; 子bean可以继承父…...

科技与狠活

科技与狠货&#xff0c;已经见怪不怪了 从黑龙江到海南&#xff0c;从上海到新疆&#xff0c;960万平方公里&#xff0c;十三亿人&#xff0c;每个地方都是科技与狠活 在抖音上面看到一个评论&#xff0c;如果蔬菜没科技与狠活&#xff0c;估计会很贵&#xff0c;但是我想到在…...

Vue:axios请求数据转存leanCloud

思路&#xff1a; 采用axios请求需要的数据&#xff0c;查看leanCloud中数据批量存储的格式&#xff0c;将两个数据进行对比&#xff0c;将请求得到的数据封装为云服务存储的格式&#xff0c;再发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系统开发中&#xff0c;性能优化是一个重要的任务&#xff0c;有许多工具可以帮助你进行各种方面的性能分析和优化。以下是一些常见的Android性能优化工具及其用途和使用方法&#xff1a; 1. Android Studio Profiler 功能: 提供CP…...

TG创建小程序交互APP登录以及机器人信息

1、搜索 BotFather &#xff0c;输入命令 /newbot 创建机器人。 2、修改机器人信息 /mybots 编辑名称 : 修改机器人名称 编辑关于: 修改关于 hayden yyds&#xff0c;修改以后打开机器人会出现在下图 编辑描述 : 机器人的描述 编辑描述图片 : 机器人的图片 编辑 Botpic…...

探索大模型能力--prompt工程

1 prompt工程是什么 1.1 什么是Prompt&#xff1f; LLM大语言模型终究也只是一个工具&#xff0c;我们不可能每个人都去训一个大模型&#xff0c;但是我们可以思考如何利用好大模型&#xff0c;让他提升我们的工作效率。就像计算器工具一样&#xff0c;要你算10的10倍&#x…...

【经验分享】运用云服务器实现挂机手机网课的操作,部分手机软件适用

目录 第一步下载手机模拟器 第二步找到模拟器的文件位置 第三步找到模拟器的下载文件进行打包处理 ​编辑 第四步将模拟器粘贴到云服务器上 第五步运行程序 第六步在模拟器中下载网课软件 第一步下载手机模拟器 这里我下载的是联想模拟器&#xff0c;用来模拟手机环境 随…...

【从0到1进阶Redis】主从复制 — 主从机宕机测试

上一篇&#xff1a;【从0到1进阶Redis】主从复制 测试&#xff1a;主机断开连接&#xff0c;从机依旧连接到主机的&#xff0c;但是没有写操作&#xff0c;这个时候&#xff0c;主机如果回来了&#xff0c;从机依旧可以直接获取到主机写的信息。 如果是使用命令行&#xff0c;来…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

【位运算】消失的两个数字(hard)

消失的两个数字&#xff08;hard&#xff09; 题⽬描述&#xff1a;解法&#xff08;位运算&#xff09;&#xff1a;Java 算法代码&#xff1a;更简便代码 题⽬链接&#xff1a;⾯试题 17.19. 消失的两个数字 题⽬描述&#xff1a; 给定⼀个数组&#xff0c;包含从 1 到 N 所有…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

高考志愿填报管理系统---开发介绍

高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发&#xff0c;采用现代化的Web技术&#xff0c;为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## &#x1f4cb; 系统概述 ### &#x1f3af; 系统定…...