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】主从复制 测试:主机断开连接,从机依旧连接到主机的,但是没有写操作,这个时候,主机如果回来了,从机依旧可以直接获取到主机写的信息。 如果是使用命令行,来…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...

接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...