Codeforces Round 987 (Div. 2)(前四道)
A. Penchick and Modern Monument
翻译:
在繁华大都市马尼拉的摩天大楼中,菲律宾最新的 Noiph 购物中心刚刚竣工!建筑管理方 Penchick 订购了一座由 n 根支柱组成的先进纪念碑。
纪念碑支柱的高度可以用一个由 n 个正整数组成的数组 h 来表示,其中
表示 1 到 n 之间所有 i 的第 i 根支柱的高度。
彭契克希望石柱的高度不递减,即 1 到 n-1 之间所有 i 的高度为
。然而,由于混淆不清,纪念碑的高度反而是非递增的,即对于 1 到 n-1 之间的所有 i,
。
幸运的是,彭奇克可以修改石碑,并根据需要多次对石柱进行以下操作:
- 将支柱的高度修改为任意正整数。形式上,选择一个下标
和一个正整数 x,然后赋值
。
帮助彭奇克确定使纪念碑支柱的高度不递减所需的最少操作次数 .
思路:
变为同一高度最好,选择同一高度最多的柱子为标准。
实现:
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
// using pll = pair<ll,ll>;void solve(){int n;int maxx = 0; vector<int> nums(100,0);cin>>n;for (int i=0,num;i<n;i++){cin>>num;nums[num]++;maxx = max(maxx,nums[num]);} cout<<n-maxx<<endl;
}
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// 中间填保留几位小数,不填默认// cout.precision();ll t;cin>>t;while (t--) solve();}
B. Penchick and Satay Sticks
翻译:
Penchick 和他的朋友 Kohane 正在印度尼西亚旅游,他们的下一站是泗水!
在泗水熙熙攘攘的小吃摊上,Kohane 买了 n 根沙爹,把它们排成一行,其中第 i 根沙爹的长度为
。已知 p 是长度为 n 的排列。
彭奇克想把沙爹棒按长度递增的顺序排列,这样,每
时,
。为了好玩,他们制定了一条规则:只能交换长度相差 1 的相邻沙爹棒。从形式上看,他们可以执行以下操作任意多次(包括零次):
- 选择一个下标(
),使得
;
- 交换
和
。
判断是否可以通过执行上述操作对排列 p 进行排序,从而对嗲嗲棒进行排序。
思路:
当左边比当前数大2即以上的数时,那个数必定换不到当前数的右边。遍历时维护左边最大值即可。
实现:
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
// using pll = pair<ll,ll>;void solve(){int n; cin>>n;vector<int> a(n);for (int i=0;i<n;i++) cin>>a[i];if (n==2||n==1){cout<<"YES"<<endl;return;}else{int maxx = a[0];for (int i=1;i<n;i++){if (maxx>a[i]+1){cout<<"NO"<<endl;return;}maxx = max(a[i],maxx);}cout<<"YES"<<endl;}
}
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// 中间填保留几位小数,不填默认// cout.precision();ll t;cin>>t;while (t--) solve();
}
C. Penchick and BBQ Buns
翻译:
Penchick 喜欢两样东西:方块数字和港式烧腊包!在 Penchick 生日的时候,Kohane 想送他一份礼物:n 个从左到右排列的烧腊包。烧腊包有
种馅料可供选择,从 1 到
。为了确保彭奇克会喜欢这份礼物,科哈尼有几个目标:
- 每种馅料都不能使用一次;也就是说,每种馅料要么完全不出现,要么至少出现两次。
- 对于具有相同馅料的两个包子 i 和 j,它们之间的距离
必须是完全平方。
帮助 Kohane 找到选择包子馅的有效方法,或者确定是否不可能满足她的目标!如果有多个解决方案,请打印其中任何一个。
思路:
对于n为偶数,相同馅料间隔为i,i+1;
n为奇数时,由于存在
,即可以有三个相同的馅料位置为1,10,26,10到26间为奇数有一个没配对,而11+16=27,即11可以与27配对。那么结论即为n>=27,位置1,10,26填相同馅,11,27填相同馅料,剩下的为偶数可以通过偶数情况求解。
实现:
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
// using pll = pair<ll,ll>;void solve(){int n; cin>>n;vector<int> a(n+1,0);if (n%2==1){if (n>=27){a[1] = 1;a[10] = 1;a[26] = 1;a[11] = 2;a[27] = 2;int cnt = 3,f = 0;for (int i=1;i<=n;i++){if (a[i]==0){a[i] = cnt;f++;}if (f==2){f = 0;cnt++;}}}else{cout<<-1<<endl;return;}}else{int cnt = 1;for (int i=1;i<=n;i+=2){a[i] = cnt;a[i+1] = cnt;cnt++;}}for (int i=1;i<n;i++){cout<<a[i]<<" ";}cout<<a[n]<<endl;
}
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// 中间填保留几位小数,不填默认// cout.precision();ll t;cin>>t;while (t--) solve();}
D. Penchick and Desert Rabbit
翻译:
Penchick 致力于挑战自己的极限,在阿拉伯沙漠的正午阳光下,他向自己发起了挑战!
当彭奇克沿着一片线状绿洲跋涉时,他发现一只沙漠兔正准备沿着一排棕榈树跳跃。一共有 n 棵棕榈树,每棵树的高度用
表示。
如果以下条件之一完全为真,兔子就能从第 i 棵树跳到第 j 棵树:
- j<i 且
:兔子可以向后跳到更高的树上。
- j>i 且
:兔子可以向前跳到较矮的树上。
对于 1 到 n 中的每个 i,确定兔子从第 i 棵树开始所能到达的所有树的最大高度。
思路:
对于每个可跳的位置,可以任意往来,构成连通块。从左到右,维护每个连通块最大值,当前值小于连通块时,合并连通块,并更新连通块最大值。
每个位置的答案就是所属连通块的最大值。
代码:
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
// using pll = pair<ll,ll>;
const int N = 5e5+10;
vector<int> f(N),sz(N);
int find(int k){return f[k]==k ? f[k] : f[k] = find(f[k]);
}
void add(int x,int y){x = find(x);y = find(y);if (x==y) return;if (sz[x]<sz[y]) swap(x,y);f[y] = x;sz[x] += sz[y];
}int n;
vector<int> nums(N);void solve(){int n;cin>>n;for (int i=1;i<=n;i++){cin>>nums[i];sz[i] = 1;f[i] = i;}priority_queue<pair<int,int>> piece1;for (int i=1;i<=n;i++){int temp = nums[i];while (!piece1.empty()){int x = piece1.top().first, y = piece1.top().second;if (x>nums[i]){temp = max(x,temp);add(y,i);piece1.pop();}else{break;}}piece1.push(make_pair(temp,find(i)));}map<int,int> mp;while (!piece1.empty()){int x = piece1.top().first, y = piece1.top().second;piece1.pop();mp[find(y)] = x;}for (int i=1;i<n;i++){cout<<mp[find(i)]<<" ";}cout<<mp[find(n)]<<endl;
}
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// 中间填保留几位小数,不填默认// cout.precision();ll t;cin>>t;while (t--) solve();}
相关文章:
Codeforces Round 987 (Div. 2)(前四道)
A. Penchick and Modern Monument 翻译: 在繁华大都市马尼拉的摩天大楼中,菲律宾最新的 Noiph 购物中心刚刚竣工!建筑管理方 Penchick 订购了一座由 n 根支柱组成的先进纪念碑。 纪念碑支柱的高度可以用一个由 n 个正整数组成的数组 h 来表示…...
PCB+SMT线上报价系统+PCB生产ERP系统自动化拼板模块升级
PCB生产ERP系统的智能拼版技术,是基于PCB前端报价系统获取到的用户或市场人员已录入系统的板子尺寸及set参数等,按照最优原则或利用率最大化原则自动进行计算并输出拼版样式图和板材利用率,提高工程人员效率,减少板材的浪费。覆铜…...
微信小程序_小程序视图与逻辑_day3
一、目标 A. 能够知道如何实现页面之间的导航跳转 B. 能够知道如何实现下拉刷新效果 C. 能够知道如何实现上拉加载更多效果 D. 能够知道小程序中常用的生命周期 二、目录 A. 页面导航 B. 页面事件 C. 生命周期 D. WXS脚本 E. 案例-本地生活(列表页面)…...
kubesphere环境-本地Harbor仓库+k8s集群(单master 多master)+Prometheus监控平台部署
前言:半月前在公司生产环境上离线部署了k8s集群Victoria Metrics(二开版)自研版夜莺 监控平台的搭建,下面我租用3台华为云服务器演示部署kubesphere环境-本地Harbor仓库k8s集群(单master节点 & 单master节点)Prometheus监控部…...
【提高篇】3.3 GPIO(三,工作模式详解 上)
目录 一,工作模式介绍 二,输入浮空 2.1 输入浮空简介 2.2 输入浮空特点 2.3 按键检测示例 2.4 高阻态 三,输入上拉 3.1 输入上拉简介 3.2 输入上拉的特点 3.3 按键检测示例 四,输入下拉 4.1 输入下拉简介 4.2 输入下拉特点 4.3 按键检测示例 一,工作模式介绍…...
‘视’不可挡:OAK相机助力无人机智控飞行!
南京邮电大学通达学院的刘同学用我们的oak-d-lite实现精确打击无人机的避障和目标识别定位功能,取得了比赛冠军。我们盼望着更多的朋友们能够加入到我们OAK的队伍中来,参与到各式各样的比赛中去。我们相信,有了我们相机的助力,大家…...
javaScript交互补充(元素的三大系列)
1、元素的三大系列 1.1、offset系列 1.1.1、offset初相识 使用offset系列相关属性可以动态的得到该元素的位置(偏移)、大小等 获得元素距离带有定位祖先元素的位置获得元素自身的大小(宽度高度)注意:返回的数值都不…...
数据结构(基本概念及顺序表)
基本概念: 1、引入 程序数据结构算法 数据: 数值数据:能够直接参加运算的数据(数值,字符) 非数值数据:不能够直接参加运算的数据(字符串、图片等) 数据即是信息的载…...
【全面系统性介绍】虚拟机VM中CentOS 7 安装和网络配置指南
一、CentOS 7下载源 华为源:https://mirrors.huaweicloud.com/centos/7/isos/x86_64/ 阿里云源:centos-vault-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云 百度网盘源:https://pan.baidu.com/s/1MjFPWS2P2pIRMLA2ioDlVg?pwdfudi &…...
html + css 自适应首页布局案例
文章目录 前言一、组成二、代码1. css 样式2. body 内容3.全部整体 三、效果 前言 一个自适应的html布局 一、组成 整体居中,宽度1200px,小屏幕宽度100% 二、代码 1. css 样式 代码如下(示例): <style>* {…...
时钟之CSS+JS版
写在前面 此版本绘制的时钟基于CSSJS模式。 优点操作简单,缺点当然是不够灵活。下一篇会基于HTML5的canvas标签,使用JS绘制。会更灵活,元素更加丰富。 HTML代码 <div class"box"><article class"clock"><…...
ubuntu18.04 配置安卓编译环境
目前有个项目,验收时有个要求是在linux中进行编译打包生成apk文件。我平时都是在windows环境android studio中进行打包的,花了半天时间研究了一下,记录如下: 安装安卓sdk cd /opt wget https://dl.google.com/android/reposito…...
pycharm分支提交操作
一、Pycharm拉取Git远程仓库代码 1、点击VCS > Get from Version Control 2、输入git的url,选择自己的项目路径 3、点击Clone,就拉取成功了 默认签出分支为main 选择develop签出即可进行开发工作 二、创建分支(非必要可以不使用…...
ESP32-C3 开发笔记 之 arduino 正常上传 串口乱码2024/11/15
ESP32-C3 开发笔记 之 arduino 正常上传 串口乱码 ESP32-C3 开发笔记 之 arduino 正常上传程序 但是打开串口,串口快速刷新 芯片一直处于重启状态 找了很久的原因没找到,用Mixly 上传就正常 最后看到这篇 文章https://blog.csdn.net/luooove/article/details/132351398修改了Fl…...
Ubuntu 的 ROS 操作系统 turtlebot3 SLAM仿真
引言 SLAM(同步定位与地图构建)在Gazebo仿真环境中的应用能够模拟真实机器人进行环境建图和导航。通过SLAM仿真,开发者可以在虚拟环境中测试算法,而不必依赖真实硬件,便于调试与优化。 Gazebo提供了多个虚拟环境&…...
2024年11月15日
1.计算机网络 逻辑右移 做加减法 定点乘法 原码乘法运算 一位乘 计组 2.英语六级...
websocket初始化
websocket初始化 前言 上一集我们HTTP的ping操作就可以跑通了,那么我们还有一个协议---websocket,我们在这一集就要去完成我们websocket的初始化。 分析 我们在初始化websocket的之前,我们考虑一下,我们什么时候就要初始化我们…...
uniapp ios app以framwork形式接入sentry
一、下载Sentry mac终端输入:vim Podfile修改Podfile: platform :ios, 11.0 target YourApp douse_frameworks! # This is importantpod Sentry, :git > https://github.com/getsentry/sentry-cocoa.git, :tag > 8.40.1 end执行:pod install下载…...
⾃动化运维利器Ansible-基础
Ansible基础 一、工作原理二、快速入门2.1 测试所有资产的网络连通性2.2 发布文件到被管理节点(资产) 三、资产(被管理节点)3.1 静态资产3.1.1 自定义资产3.1.2 自定义资产的使用3.1.3 资产选择器 四、Ansible Ad-Hoc 命令4.1 模块类型4.1.1 command & shell 模块4.1.2 cop…...
若依笔记(十一):芋道多租户限制与修改
目录 多租户实现 哪些表是多租户的? YudaoTenant自动装载类 租户隔离的sql在哪? 如何修改成无租户隔离 全局修改 表级别 请求RUL级别 芋道比若依多了租户概念,这也是因为它增加很多业务系统,首先后台管理系统肯定是多租户的,这意味着如商城系统的产品管理SPU、库存…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...
接口 RESTful 中的超媒体:REST 架构的灵魂驱动
在 RESTful 架构中,** 超媒体(Hypermedia)** 是一个核心概念,它体现了 REST 的 “表述性状态转移(Representational State Transfer)” 的本质,也是区分 “真 RESTful API” 与 “伪 RESTful AP…...
