当前位置: 首页 > 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;来…...

NotebookLM移动端体验全拆解(iOS/Android双端对比报告·仅限内测用户知晓的性能阈值)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;NotebookLM移动端体验全景概览 NotebookLM 作为 Google 推出的基于用户自有文档构建的 AI 助手&#xff0c;其移动端&#xff08;iOS/Android&#xff09;已正式开放下载。该应用并非简单将网页版界面缩放适配…...

P vs NP:西方哲学 × 西方计算理论 —— 人类思维的终极边界

P vs NP&#xff1a;西方哲学 西方计算理论 —— 人类思维的终极边界 华夏之光永存&#xff5c;七大数学猜想思维范式全链条 第一篇开篇 P vs NP 是计算机科学第一难题&#xff0c;克雷数学研究所七大千禧年难题之一。 本文不宣称证明、不跳步、不民科、不超纲。 只用哲学与数…...

爆仓价格系数推导

多仓 爆仓条件&#xff1a;账户权益 < 维持保证金 即&#xff1a; Equity Maintenance Margin对于一个仓位&#xff1a; 多仓 权益&#xff1a; 权益 初始权益 (当前价 - 开仓价) 数量因为&#xff1a; 价格上涨赚钱。 空仓 权益&#xff1a; 权益 初始权益 (开仓价 -…...

Prompt Engineering、Context Engineering 与 Harness Engineering 的异同点

在大型语言模型&#xff08;LLM&#xff09;应用开发中&#xff0c;随着模型能力的提升&#xff0c;单纯依靠“写提示词”已经无法满足复杂、稳定、可落地的生产需求。于是&#xff0c;Prompt Engineering&#xff08;提示工程&#xff09;、Context Engineering&#xff08;上…...

3分钟告别Windows桌面混乱:这款免费工具让你的图标瞬间变整齐

3分钟告别Windows桌面混乱&#xff1a;这款免费工具让你的图标瞬间变整齐 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences 还在为Windows桌面上那些杂乱无章的图标头疼吗&…...

CyberChef:浏览器端数据处理的模块化架构解析

CyberChef&#xff1a;浏览器端数据处理的模块化架构解析 【免费下载链接】CyberChef The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis 项目地址: https://gitcode.com/GitHub_Trending/cy/CyberChef CyberChef 是一款…...

通过Taotoken的CLI工具一键配置Python开发环境

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过Taotoken的CLI工具一键配置Python开发环境 对于希望快速开始使用大模型API的Python开发者而言&#xff0c;手动配置API密钥、B…...

传统开发VS低代码开发,谁更胜一筹?

低代码开发&#xff0c;让企业应用搭建像搭积木一样简单 在当今数字化时代&#xff0c;企业对于应用程序的需求日益增长。然而&#xff0c;传统的软件开发方式往往面临着开发周期长、成本高、技术门槛高等问题&#xff0c;这使得许多企业在数字化转型的道路上举步维艰。而低代…...

IO、NIO、Netty实战

目标 客户端和服务端互相通信&#xff0c;本文主要是实战练习&#xff0c;照着敲&#xff0c;然后debug看为什么就行 前置理解模型核心类特点简述BIOServerSocket / Socket一个连接一个线程&#xff0c;accept() 和 read() 都会阻塞简单但连接多了线程爆炸NIOSelector / Server…...

Spring Boot项目升级FastJson2踩坑记:三个依赖缺一不可,附完整配置代码

Spring Boot项目升级FastJson2实战指南&#xff1a;从依赖管理到配置优化 最近在重构一个老项目时&#xff0c;我决定将FastJson1升级到FastJson2版本。本以为只是简单修改下依赖版本号就能搞定&#xff0c;结果却遭遇了各种"类找不到"的报错。经过两天折腾和源码研…...