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

Contest3137 - 2022-2023-2 ACM集训队每月程序设计竞赛(1)五月月赛

A 1! 5! 46 169

有一种数字,我们称它为 纯真数。 它等于自身每一个数位的阶乘之和。请你求出不超过n的所有 纯真数。(注:纯真数不含有前导0)数据范围1e18

纯真数只有四个,注意0!=1
1,2,145,40585

int n;cin>>n;int res[]={1,2,145,40585};if(n>=1)cout<<res[0]<<endl;if(n>=2)cout<<res[1]<<endl;if(n>=145)cout<<res[2]<<endl;if(n>=40585)cout<<res[3]<<endl;

B 翻转板游戏 4 26

幼儿园引进了一款新玩具,是包含若干块翻转板的一条长链。初始时翻转板上每块板子正面或反面朝上,游戏的目的为将所有翻转板最终翻转为均正面朝上。
老师认为翻转板游戏的原设置太过于简单,不能满足幼儿园里天才儿童们的游玩需求(要被小孩子嫌弃啦!),于是想要基于原游戏设备对于游戏进行升级。
为增加游戏难度, 老师规定:对于翻转板长链进行的每次操作,必须选择连续的至少 k块板子进行翻转。
现给定翻转板长链每块板子的初始状态,请你帮老师找到最大的限制条件 k,使得游戏难度最大但最终游戏有解(即一定存在至少一种方式可通过若干次操作使得所有翻转板最终翻转为正面朝上),并输出最大的 k
输入共一行,包含一个 01字符串 1~1e5
0表示第i块板子初始时正面朝上;1表示第i块板子初始时反面朝上

从左向右遍历,遇到不相等的两块板子,要么把前半边全部翻转(i+1个),要么把后半边全部翻转(len-i+1个),选择较大的那种翻转方式,遍历一遍,找出可以这样做的最小的k

signed main(){IOS;string s;cin>>s;int len=s.size(),ans=len;fer(i,0,len-1){if(s[i]!=s[i+1]){ans=min(ans,max(i+1,len-i-1));}}cout<<ans;return 0;
}

C 地毯规划 7 23

在这里插入图片描述
输出
4
暴力

const int N=101,mod=1e9+7;
int a[N][N],b[N][N];
signed main(){IOS;int n,m;cin>>n>>m;fer(i,0,n){fer(j,0,m)cin>>a[i][j];//要求 }int cnt,mn=1e18;fer(x,1,n+1){//遍历毯子大小xfer(y,1,n+1){//遍历毯子大小yfer(i,0,n){fer(j,0,m)b[i][j]=a[i][j];}//重置要求 cnt=0;bool f=1;fer(i,0,n){//遍历要求 fer(j,0,m){//遍历要求 int t=b[i][j];if(t==0)continue;else if(t<0){f=0;break;}else{cnt+=t;if(t>0&&i+x<=n&&j+y<=m){//可以铺毯子 fer(s,i,i+x){//把铺上毯子的地方减去 fer(k,j,j+y){b[s][k]-=t;}}}else {f=0;break;}}}if(!f)break;}if(f){mn=min(mn,cnt);//cout<<"x="<<x<<" y="<<y<<" "<<mn<<endl;}}}cout<<mn<<endl;return 0;}

D 国王移动 48 104

在这里插入图片描述
在这里插入图片描述

	int x1,y1,x2,y2;cin>>x1>>y1>>x2>>y2;int horizon=abs(x1-x2);int vertical=abs(y1-y2);if(horizon>vertical)swap(horizon,vertical);//horizon<=vertical int res=vertical;cout<<res<<endl;

E 面包店 1 12

在这里插入图片描述
输出
2
由大到小排袋子,由美味值大到小排面包,双指针遍历,可以不选面包

int pack[N];
struct node{int size,taste;
};
bool cmp(node &a,node &b){if(a.taste==b.taste)return a.size>b.size;return a.taste>b.taste;
}
signed main(){IOS;int n,m;cin>>n>>m;vector<node> bread;fer(i,0,n){int a,b;cin>>a>>b;bread.pb({a,b});}fer(i,0,m)cin>>pack[i];sort(pack,pack+m,greater<int>());sort(bread.begin(),bread.end(),cmp);int cnt=0,j=0;fer(i,0,m){if(j>=n)break;if(bread[j].size<=pack[i]){j++;cnt++; }else{j++;i--;}}cout<<cnt;return 0;
}

F 拥挤的珠峰 0 11

在这里插入图片描述
在这里插入图片描述

G 最终会相等的 1 11

在这里插入图片描述

//暴力解法,54% TLE
const int N=2e5+1,mod=1e9+7;
int a[N],b[N];
int mn=1e18,n;
int dfs(int t){if(t==n-1){if(a[t]==b[t])return 0;else return -1;}if(a[t]==b[t])return dfs(t+1);int minn=1e18;if(a[t]!=b[t]){fer(i,t+1,n){if(a[i]+i-t==b[t]){//可以左加 int x=a[i];for(int j=i;j>t;j--){//所有数右移 a[j]=a[j-1]-1;} a[t]=x;int dg=dfs(t+1);if(dg==-1)continue;else minn=min(minn,dg+i-t);for(int j=t;j<i;j++){//所有数左移 a[j]=a[j+1]+1;}a[i]=x;}}if(minn!=1e18)return minn;else return -1;}
}
signed main(){IOS;cin>>n;int suma=0,sumb=0;fer(i,0,n){cin>>a[i];suma+=a[i];}fer(i,0,n){cin>>b[i];sumb+=b[i];}if(suma!=sumb)cout<<-1<<endl;else{int res=dfs(0); if(res!=-1)cout<<dfs(0)<<endl;else cout<<-1<<endl;}return 0;}

H 新版奔跑在北化 27 122

在这里插入图片描述

int a[N];
signed main(){IOS;int n,k;cin>>n>>k;int neg=-1,zero=0;fer(i,0,n){cin>>a[i];if(a[i]<0)neg=i;//最后一个负数的位置 else if(a[i]==0)zero++;}int cnt=0;if(zero==1)cnt++;int mn=1e18;int tmp;fer(i,0,n){//i是到达的该半轴的终点 tmp=cnt;//已打卡点数int cost=0; if(a[i]<0){tmp+=neg-i+1;//打卡了这么多点 cost+=abs(a[i]);if(tmp<k){if(neg+k-tmp<n){cost+=abs(a[i]);//折返 cost+=a[neg+k-tmp];}else continue;}}else if(a[i]>0){tmp+=i-neg;cost+=a[i];if(tmp<k){if(neg-k+tmp+1>=0){cost+=a[i];cost+=abs(a[neg-k+tmp+1]);}else continue;}}mn=min(mn,cost);}cout<<mn<<endl;return 0;}

I 花束紧凑 0 1

在这里插入图片描述

J 除杂草 37 246

在这里插入图片描述

	int n;cin>>n;fer(i,0,n)cin>>a[i];int kill=-1; bool f=1;fer(i,0,n-1){if(a[i]>a[i+1]){kill=i;break;//拔掉高的}}fer(i,0,n-1){if(i+1==kill){if(a[i]>a[i+2]){f=0;break;}}else if(i==kill){continue;}else{if(a[i]>a[i+1]){f=0;break;}}}if(f)cout<<"Yes"<<endl;else {f=1;fer(i,0,n-1){if(a[i]>a[i+1]){kill=i+1;break;//拔掉矮的 }//kill范围是1~n-1 }fer(i,0,n-1){if(i+1==kill&&i+2<n){if(a[i]>a[i+2]){f=0;break;}}else if(i==kill){continue;}else{if(a[i]>a[i+1]){f=0;break;}}}if(f)cout<<"Yes"<<endl;else cout<<"No"<<endl;}

相关文章:

Contest3137 - 2022-2023-2 ACM集训队每月程序设计竞赛(1)五月月赛

A 1! 5! 46 169 有一种数字&#xff0c;我们称它为 纯真数。 它等于自身每一个数位的阶乘之和。请你求出不超过n的所有 纯真数。(注&#xff1a;纯真数不含有前导0&#xff09;数据范围1e18 纯真数只有四个&#xff0c;注意0!1 1,2,145,40585 int n;cin>>n;int res[]{…...

如何使用 YOLOv8 神经网络检测图像中的物体

对象检测是一项计算机视觉任务,涉及识别和定位图像或视频中的对象。它是许多应用的重要组成部分,例如自动驾驶汽车、机器人和视频监控。 多年来,已经开发了许多方法和算法来查找图像中的对象及其位置。执行这些任务的最佳质量来自使用卷积神经网络。 YOLO 是这项任务最流行的…...

Python每日一练:小艺读书醉酒的狱卒非降序数组(详解快排)

文章目录 前言一、小艺读书二、醉酒的狱卒三、非降序数组总结 前言 今天这个非降序数组&#xff0c;阅读解理小学水平&#xff0c;说起来都是泪啊。我折腾了一天都没搞定&#xff0c;从冒泡写到快速排序。换了几种都还不行&#xff0c;我又给快排加上插入排序。结果还是不能全…...

手麻系统源码,PHP手术麻醉临床信息系统源码,手术前管理模块功能

手麻系统源码&#xff0c;PHP手术麻醉临床信息系统源码&#xff0c;手术前管理模块功能 术前管理模块主要有手术排班、手术申请单、手术通知单、手术知情同意书、输血血液同意书、术前查房记录、术前访视、风险评估、手术计划等功能。 功能&#xff1a; 手术排班&#xff1a;…...

AUTOSAR - ComM - 学习一 :基础知识+配置

目录 1、概述 1.1、总览 1.2、功能描述 1.3、依赖关系 2、功能SPEC 2.1、PNC...

手把手教你搭建ROS阿克曼转向小车之(增量式PID代码实现)

在上一篇文章中我们已经成功的把编码器的反馈值给计算出来&#xff0c;这篇文章将会讲解怎么使用反馈回来的速度值进行PID计算&#xff0c;从而闭环控制电机的速度。 PID算法介绍 1.开环控制系统 开环控制系统(open-loop control system)是指被控对象的输出(被控制量)对控制器…...

C语言函数大全-- t 开头的函数

C语言函数大全 本篇介绍C语言函数大全-- t 开头的函数 1. tan&#xff0c;tanf&#xff0c;tanl 1.1 函数说明 函数声明函数功能double tan(double x)计算 以弧度 x 为单位的角度的正切值&#xff08;double&#xff09;float tanf(float x)计算 以弧度 x 为单位的角度的正…...

安卓系统APP稳定性测试分析的研究报告

目录 第一章&#xff1a;概念 第二章&#xff1a;重要性 第三章&#xff1a;意义和作用 第四章&#xff1a;行业现状 第五章&#xff1a;常见测试方法和工具 第六章&#xff1a;实际测试场景 第七章&#xff1a;测试方案 第八章&#xff1a;测试方法 第九章&#xff1…...

【Java基础】集合

一、集合概述 为了方便对多个对象进行存储和操作&#xff0c;集合是一种Java容器&#xff0c;可以动态地把多个对象引用放入容器中 数组存储的特点 一旦初始化后&#xff0c;长度不可改变&#xff0c;元素类型不可改变提供的方法很少&#xff0c;对于添加、删除、获取实际元…...

【Android入门到项目实战-- 9.1】—— 传感器的使用教程

目录 传感器的定义 三大类型传感器 1、运动传感器 2、环境传感器 3、位置传感器 传感器开发框架 1、SensorManager 2、Sensor 3、SensorEvent 4、SensorEventListener 一、使用传感器开发步骤 1、获取传感器信息 1)、获取传感器管理器 2)、获取设备的传感器对象列…...

yolov8 浅记

目录 Pre: 1. YOLOv8 概述 2. 模型结构设计 3. Loss 计算 4.训练数据增强 5. 训练策略 6、部署推理 End Pre: yolo系列发布时间&#xff1a; 先贴一下yolo各系列的发布时间&#xff08;说出来很丢人&#xff0c;我以为 yolox是 最新的&#xff09;&#xff1a; yoloX 2…...

前端009_类别模块_修改功能

第九章 1、需求分析2、Mock添加查询数据3、Mock修改数据4、Api调用回显数据5、提交修改后的数据6、效果1、需求分析 需求分析 当点击 编辑 按钮后,弹出编辑窗口,并查询出分类相关信息进行渲染。修改后点击 确定 提交修改后的数据。 2、Mock添加查询数据 请求URL: /article/…...

2022级吉林大学面向对象第一次上机测试

【注&#xff1a;解答全部为本人所写&#xff0c;仅供同学们学习时参考使用&#xff0c;请勿照搬抄袭&#xff01;】 1、 1&#xff09;略 2&#xff09;如果main,f1,g1,g2或更多的函数之间有更为复杂的调用关系&#xff0c;头文件一般按怎样的规律写呢&#xff1f; 一般情况下…...

计算机体系结构总结:内存一致性模型 Memory consistency Model

存储一致性是为了保证多线程背景下的访存顺序&#xff0c;多线程的语句是可以交错执行&#xff0c;使得顺序不同产生不同的执行结果。 下面P2的输出结果可能是什么&#xff1f; P1, P2两个线程的语句是可以交叉执行的&#xff0c;比如1a, 2a, 2b, 1b&#xff1b;一个线程内的语…...

高速列车运行控制系统(CTCS)介绍

1、CTCS功能 安全防护 在任何情况下防止列车无行车许可运行防止列车超速运行防止列车超过进路允许速度防止列车超过线路结构规定的速度防止列车超过机车车辆构造速度防止列车超过临时限速及紧急限速防止列车超过铁路有关运行设备的限速防止列车溜逸 人机界面 以字符、数字及…...

C#“System.Threading.ThreadStateException”类型的未经处理的异常

备忘 最近做一个功能&#xff0c;从主界面进入另一个界面时&#xff0c;数据量较大&#xff0c;处理信息较多&#xff0c;程序宕机。而且点击程序还会提示程序无响应。不得已用另一个线程显示界面。但在界面中使用控件时&#xff0c;报错&#xff1a;“System.Threading.Thread…...

为什么要交叉编译?

一、什么是交叉编译、为什么要交叉编译 1、什么是交叉编译&#xff1f; 交叉编译&#xff1a;是在一个平台上生成另一个平台上的可执行代码。比如我们在 x86 平台上&#xff0c;编写程序并编译成能运行在 ARM 平台的程序&#xff0c;编译得到的程序在 x86 平台上是不能运行的…...

java版本电子招标采购系统源码—企业战略布局下的采购

​ 智慧寻源 多策略、多场景寻源&#xff0c;多种看板让寻源过程全程可监控&#xff0c;根据不同采购场景&#xff0c;采取不同寻源策略&#xff0c; 实现采购寻源线上化管控&#xff1b;同时支持公域和私域寻源。 询价比价 全程线上询比价&#xff0c;信息公开透明&#xff0…...

【MATLAB数据处理实用案例详解(17)】——利用概念神经网络实现柴油机故障诊断

目录 一、问题描述二、利用概念神经网络实现柴油机故障诊断原理三、算法步骤3.1 定义样本3.2 样本归一化3.3 创建网络模型3.4 测试3.5 显示结果 四、运行结果五、完整代码 一、问题描述 柴油机的结构较为复杂&#xff0c;工作状况非常恶劣&#xff0c;因此发生故障的可能性较大…...

神奇字符串、密钥格式化----2023/5/6

神奇字符串----2023/5/6 神奇字符串 s 仅由 ‘1’ 和 ‘2’ 组成&#xff0c;并需要遵守下面的规则&#xff1a; 神奇字符串 s 的神奇之处在于&#xff0c;串联字符串中 ‘1’ 和 ‘2’ 的连续出现次数可以生成该字符串。 s 的前几个元素是 s “1221121221221121122……” 。…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...