马蹄集oj赛(双周赛第十八次)

目录

幸运的3

打靶

照亮街道

九次九日九重色

寻找串

竹鼠的白色季节

捉迷藏

好的三连

三角数

买马

可怜的小码哥

花园浇水

高次方程


幸运的3


难度:黄金时间限制: 1秒四占用内存:128M
你有 n 个数,可以将它们两两匹配(即将两数首尾相连),每个数只能使用一次,问匹配后最多有多少个 3的倍数(没有进行匹配的数不算) ?
格式
输入格式:第一行一个n,接下来n个正整数
输出格式:输出最多有多少个3的倍数

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
int main() {int n, a[3] = {0};cin >> n;for (int i = 1; i <= n; i++) {int temp;cin >> temp;a[temp % 3]++;}cout << a[0] / 2 + min(a[1], a[2]);return 0;
}

打靶


难度:黄金时间限制: 3秒占用内存:256M
小码哥在练习射箭,他要射穿  个靶子,且每个靶子有高度。箭会因为受到靶子的摩擦力而下坠,当射穿一个靶子后箭的高度会下降 1。小码哥可以射任意高度的箭。求出小码哥最少需射几箭。 ( 1< n,h 106 )
格式
输入格式:第一行一个整数n。
第二行n个整数hi。
输出格式:输出一个整数,表示小码哥最少需要射几箭

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
int h,n,ans,a[1000010];
int main(){scanf("%d",&n);while (n--){scanf("%d",&h);a[h] ? a[h]--:ans++;a[h-1]++;}printf("%d",ans);return 0;
}

照亮街道


难度: 黄金时间限制: 秒四占用内存:128 M
有一条可以视为线段的街道,长度为 工,其中有 n 个路灯,每个路灯能照亮的半径都是相同的求最小的照亮半径r使得整条街道上的每一个点都能被照亮
格式
输入格式:第一行两个正整数n,工第二行为初始n个实数,表示个路灯的坐标数据保证在0到工之间。
输出格式:输出一行一个实数表示答案,答案保留两位小数。

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
double d[N];int main(){int n,L;double ans =0;cin >>n >>L;for (int i=0;i<n;i++)cin >>d[i];sort(d,d + n);for(int i=0;i<n-1;i++)ans = max(ans,d[i+1]-d[i]);ans =max(ans / 2,max(L-d[n -1],d[0]));printf("%.2lf",ans);return 0;
}

九次九日九重色


难度: 黄金时间限制: 1秒四占用内存:128M
小码哥是一个喜欢字符串的男孩子。
如果一个字符串 s 可以由一个字符串集合P中的元素拼接得到,我们就称 s 可以分解为P
现在有一个字符串集合 P和一个字符串  ,他想知道  最长的可以分解为 P 的前缀有多长。请你帮帮他!
格式
输入格式:输入的开头有若千个字符串,以空格或换行隔开,它们是集合 P 中的元素集合的结束标志是 .,之后若干行,每行有一个字符串,   为将这些字符串拼接得到的串。

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;string s[210];
string str;
bool f[200005]={1};//f[1]表示字符串s的前1个字母是否可以分解成P
int main(){int k = 1;string ss;while (true){cin >>ss;if(ss==".")break;s[k++]=ss;}while (cin >> ss)str+=ss;//字符串s可能有多行,连接到一起int ans = 0;int len = str.size();for (int i = 1;i<=len;i++)for (int j=1;j<k;j++){int l=s[j].size();if (i>=1 && f[i-l] && s[j]== str.substr(i-l,l)){f[i] = true;ans = i;break;}}cout <<ans <<endl;return 0;
}

寻找串


难度: 黄金时间限制:1秒四占用内存:128M
在所给字符串中找出最少出现两次的最长子串的长度,没有则输出.
格式
输入格式:这一定是非空的字符串S,并由小写字母组成
输出格式:输出一个数。这个数是子串中最少出现两次的最长子串的长度
样例 1
输入: ababa
 

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
int main(){string s;cin>>s;//输入字符串int l = s.size();for(int i=l-1;i>=1;i--)//从大到小枚举长度for(int j=0;j<l-i;j++) {//枚举子串的起点string tmp = s.substr(j, i);//用s.substrl取出子串if (s.find(tmp, j + 1) != s.npos) {cout << i;return 0;}}cout <<0;return 0;
}

竹鼠的白色季节


难度:黄金时间限制: 1秒占用内存: 250 M
小码哥的竹鼠养殖场中的竹鼠都在一条直线的隔间里,一共有n只竹鼠,它们的坐标分别为Pi,p2,p3,p4,...,pn(0<pi< 10),1<n<100000又到了冬季,竹鼠们也要谈恋爱,因为竹鼠们都太胖了,它们的活动范围有限,这里统一规定它们的活动范围为 d(0d<104 )。
由于竹鼠之间也需要双向奔赴,所以如果两只竹鼠之间的距离小于等于d,则称它们是有缘的一对竹鼠,问小码哥的养殖场里一共有多少对有缘的竹鼠?
注:一只竹鼠可能存在于多个有缘的竹鼠对之中,多只竹鼠可能在同一个坐标上。
格式
输入格式:第一行,两个用空格隔开的数字n和d。

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
int p[N];
int main(){int n,d,ans = 0;cin >>n >>d;for (int i=0;i<n;i++)cin >>p[i];sort(p,p + n);for (int i=0;i<n;i++){int j=i+1;while (j <n && p[j] - p[i]<=d){j++;ans++;}
}
cout<<ans;
return 0;
}

捉迷藏


难度: 钻石时间限制: 1秒四占用内存:128M
给 n 个单元格,这n个单元格在同一行,将一个代币放在单元格内,让另一个人猜代币放在哪了(视为一次询问)。可以选择在某一次询问之前或之后,将代币移动到所在单元格旁边两个单元格之一(移动操作在全部询问过程中至多进行一次,至少零次) 。问在依次进行 m 次询问后依旧找不到代币的情况(代币位置的改变) 有几种?
格式
输入格式:第一行n,m
第二行 m个数x,表示询问
输出格式:输出仅一行,为所求答案

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
const int N = 100010;int a[N],first [N],last [N],ans;//fist,last表示某一个位置查询第一次和最后一次出现的位置
int main() {int n, m;cin >> n >> m;memset(last, -1, sizeof(last));memset(first, INF, sizeof(first));for (int i = 1; i <= m; i++) {cin >> a[i];first[a[i]] = min(first[a[i]], i);last[a[i]] = max(last[a[i]], i);}for (int i = 1; i <= n; i++) {if (i > 1 && first[i] > last[i - 1])ans++;if (i < n && first[i] > last[i + 1])ans++;if (first[i] > last[i])ans++;}cout << ans;return 0;
}

好的三连


难度:黄金时间限制: 1秒世占用内存:128M
给出01串 S,求[l,区间个数,使得至少能找到一对 ,k ,满足1<,kS 且x<x+k<x+2k<r 且Sa =Sa+k=Sx+2k
格式
输入格式:输入一个01字符串
输出格式:输出一个数,即答案

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
const int N=300010;
char s[N];
int main(){long long ans = 0;scanf("%s",s +1);int n = strlen(s + 1);for (int l = 1;l<n;l++)for (int r=l;r<=n;r++){bool flag = false;for (int k = 1;l+2 * k <=r;k++)if(s[r]== s[r-k] && s[r-k]== s[r-2*k]){flag = true;break;}if (flag){ans +=n -r+1;break;}
}
cout<<ans;
return 0;
}


 

三角数


难度:黄金时间限制: 1秒占用内存:128M
k(k+1)我们规定,三角数是可表示为,k 为正整数,如果一个数 2 可以由两个三角数相加得到那么它就被成为双倍三角数。
现在给你一个数 n,让你判断 n 是不是双倍三角数。是则输出YES,否则输出 NO
格式
输入格式:第一行: n(1<n<1e9)
输出格式:如果是,输出YES,否则输出 NO

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >>n;
for (int k1 = 1;k1 <= n;k1++){
long long temp = n - 1LL * k1 * (k1 + 1)/2;
int k2 = sqrt(temp * 2 + 0.25)-0.5;
if(k2 * (k2+1)/2 == temp && k2>0){
cout <<"YES"<< endl;
return 0;}
}
cout <<"NO";
return 0;
}

买马


难度:黄金时间限制:1秒占用内存: 128 M
在市场当中,每一个编号为 的马都住在相应编号为的马中,现在小码哥想要在市场里购买定数量的马匹,由于市场很大,小码哥可以买回编号非常大的马匹回来,但是小码哥的牧场并没有这么大,使得马匹住在相应编号的马厩中。但聪明的小码哥想到可以使用某种哈希映射来解决该问题。他想出的方法是对它们进行取模操作(即编号为 ;的马住在小码哥家编号为 s;odk 的马既里》。现在已经知道了买回来马匹的编号,你是否可以找到一个最小的 k 来完成此映射,使得每一匹马单独住在一个马厩中。(注意小码哥家有编号为 0的马厩)
格式
输入格式:第一行一个整数 n 表示小码哥买回来马的总数(马的数量不超过 100)接下来n行,每一行一个数字 s;表示第匹马的编号(马的编号为不超过1000的正整数)。

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
const int N = 100,K = 1000;
int main() {int n, aa[N] = {0};cin >> n;for (int i = 0; i < n; i++)cin >> aa[i];for (int i = n; i <= K; i++) {bool f[K] = {0};bool flag = true;for (int j = 0; j < n; j++) {int remain = aa[j] % i;if (!f[remain])f[remain] = true;else {flag = false;break;}}if (flag) {cout << i;return 0;}}return 0;
}

可怜的小码哥


时间限制: 1秒四占用内存:128M
难度:黄金
提瓦特大陆上有一个贫穷的占星术士小码哥,出于占星术的要求,他时常要解决一些困难的数学问题。这天,他有遇到一个难题:对于一给定的素数集合 S = p,p2,...,pk ,考虑一个正整数集合,该集合中任一元素的质因数全部属于 S 。这个正整数集合包括, p1、p1  p2、P1XP1、P1 X 2x p3·(还有其它)。该集合被称为 S集合的“丑数集合”。小码哥现在的工作是对于给定的集合 S,去寻找“丑数集合”中的第 n 个“丑数”说明:丑数集合中每个数从小到大排列,每个丑数都是素数集合中的数的乘积,第 n 个“丑数”就是在能由素数集合中的数相乘得来的(包括它本身)第 n小的数
格式
输入格式:输入的第一行是两个的整数Sn,分别代表集合S的大小S和给定的参

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
int n,m;
//n个素数,寻找第m个丑数
int a[100],b[100];//a是素数集合,b记忆了对应质数在s里的遍历点
int s[100001];
//丑数集合
int main(){scanf("%d %d",&n,&m);for (int i=0;i<n;i++)scanf("%d",&a[i]);s[0]=1;for(int i=1;i<=m;i++) {//每次找-个丑数int temp = pow(2, 31) - 1;for (int j = 0; j < n; j++) {//遍历n个质数,让循环次数更少while (a[j] * s[b[j]] <= s[i - 1])b[j]++;temp = min(a[j] * s[b[j]], temp);}s[i] = temp;}printf("%d",s[m]);return 0;}

花园浇水


难度: 黄金时间限制:1秒四占用内存:128M
小码哥需要给花园浇水。花园是 1 x n 的长方形。每块地有一个高度。他会选择一块地方浇水,如果与这块地相邻的区域的高度小于等于这块地的高度,水就可以流过去,直到不能流为止。求他次最多可以浇灌多少块地。
格式
输入格式:第一行为一个正整数n第二行为初始高度
输出格式:输出一行一个整数表示答案

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
const int N=1000;
int main(){int n,a[N],ans =0;cin >>n;for (int i=0;i<n;i++)cin >>a[i];for (int i=0;i<n;i++){int l=i,ltemp = a[i],r=i,rtemp = a[i];while (l>0 && ltemp >= a[l -1])ltemp = a[--l];while (r<n-1 && rtemp >= a[r + 1])rtemp = a[++r];ans = max(ans,r-l+1);}cout <<ans;return 0;
}

高次方程


难度:黄金时间限制: 1秒四占用内存:128M
给定三个整数 A、B、,试求满足 A+X”= B的Y值(X必须为整数,若无解则输出“NOsolution”,有多个解则输出最小的解)。
A,B 的绝对值不超过 1000,且均不等于 0。
格式
输入格式:三个数: A,B,n(1<n<10)
输出格式:按题目要求输出一行一个整数X或者 No solution。

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
int main(){double a,b,c,n;cin >>a >>b >>n;c=b-a;for (double i=-abs(c);i <= abs(c);i++)if (pow(i,n)==c){cout <<i;return 0;}cout <<"No solution";return 0;
}

//
// Created by abner on 2024/1/4.
//
#include <bits/stdc++.h>
using namespace std;
int main(){
char n[200],s[200];
scanf("%s",n);
int len = strlen(n),index =0;
while (n[index]=='0')
index++;
len -= index;
strncpy(s,n + index,len);
s[len]='\0';
for (index = 0;index < len /2;index++){
if (s[index] <= s[len -1 - index])
s[len - 1 - index] = s[index];
else{
int index2 = len -2 - index;
while (s[index2]=='0'){
s[index2] = '9';
index2--;
}
s [index2]--;
s[len -1 - index] = s[index];
if (index2 ==0 && s[index2]=='0') {s[index2] = '9';s[len - 1] = '\0';break;}   }
}printf("%s",s);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/595680.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv8融合改进 更换检测头为Detect_DyHead同时添加C2f-EMSC和C2f-EMSCP模块

一、Detect_DyHead检测头和C2f-EMSC&#xff0c;C2f-EMSCP模块 详细介绍和代码在往期的博客里&#xff1a; Detect_DyHead&#xff1a; &#xff08;YOLOv8改进检测头Detect为Detect_Dyhead-CSDN博客&#xff09; C2f-EMSC和C2f-EMSCP&#xff1a; &#xff08;YOLOv8改进…

leetcode2487.从链表中移除节点

文章目录 题目思路复杂度Code 题目 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1&#xff1a; 输入&#xff1a;head [5,2,13,3,8] 输出&#xff1a;[13,8] 解释&#xff1a;需要移除的节点是 5 &#xff0…

云盘扩容、云盘缩容

天翼云文档地址&#xff1a;https://www.ctyun.cn/document/10027696/10169558 1、输入 growpart命令&#xff0c;检查此云主机是否已安装growpart扩容工具。若出现图中回显信息&#xff0c;则说明已经安装&#xff0c;无需手动安装。 注意 若没有图示信息&#xff0c;请执行…

《PySpark大数据分析实战》-24.数据可视化图表介绍

&#x1f4cb; 博主简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是wux_labs。&#x1f61c; 热衷于各种主流技术&#xff0c;热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员&#xff08;PCTA&#xff09;、TiDB数据库专家&#xff08;PCTP…

prometheus基本介绍

官网&#xff1a;https://prometheus.io/docs/introduction/overview/ 中文&#xff1a; https://www.prometheus.wang/ Prometheus 选择 Prometheus 并不是偶然&#xff0c;因为&#xff1a; • Prometheus 是按照 《Google SRE 运维之道》的理念构建的&#xff0c;具有实用…

WSL2-Ubuntu22.04子系统图形化界面搭建与远程桌面连接

提示&#xff1a;文中不提供WSL2子系统搭建步骤&#xff0c;假定子系统已建立好&#xff1a; 文章目录 检查WSL子系统状态图形化界面安装远程桌面连接可能遇到的相关问题xrdp状态异常远程桌面黑屏 检查WSL子系统状态 wsl -l -v如下图所示为正常 图形化界面安装 以此执行如下…

【管理篇 / 登录】❀ 06. macOS下使用USB配置线登录 ❀ FortiGate 防火墙

【简介】飞塔防火墙上都会配有CONSOLE接口&#xff0c;包装里都会配置一根USB配置线&#xff0c;通过这个接口和这根线&#xff0c;我们可以用命令的方式登录飞塔防火墙。随着苹果电脑的普及&#xff0c;我们来学习如何在macOS中使用USB配置线登录飞塔防火墙。 早期飞塔防火墙包…

Java学习路线第六篇:互联网生态(1)

这篇则分享Java学习路线第六part&#xff1a;互联网生态 恭喜你已经成功追到第六章节啦&#xff0c;要被自己的努力感动到了吧&#xff0c;而这节将承担起学完互联网生态的使命&#xff0c;本使命为单向契约&#xff0c;你可选择YES或者选择YES。 Linux Linux从入门到精通视…

淘宝商品类目接口API:获取淘宝商品分类类目信息

cat_get-获得淘宝分类详情 响应参数 名称类型必须示例值描述 info Mix0{"cid": 16, "parent_cid": 0, "name": "其他女装", "is_parent": "true", "status": "normal", "sort_order&q…

【UnityShader入门精要学习笔记】(3)章节答疑

本系列为作者学习UnityShader入门精要而作的笔记&#xff0c;内容将包括&#xff1a; 书本中句子照抄 个人批注项目源码一堆新手会犯的错误潜在的太监断更&#xff0c;有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 文章目录 复习&#xff08;阶段性总结…

matlab如何标定相机内外参和畸变参数

关于内外参矩阵和畸变矩阵可以学习 https://blog.csdn.net/qq_30815237/article/details/87530011?spm1001.2014.3001.5506 在APP中找到 camera Calibrator 点击 Add Images&#xff0c;导入拍照图片。标定20张左右就够了&#xff0c;然后角度变一下&#xff0c;但不需要变太…

Jupyter Notbook+cpolar内网穿透实现公共互联网访问使用数据分析工作

​​ 文章目录 1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下载安装2.2 Jupyter Notebook的配置2.3 Cpolar下载安装 3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 ​​​​ 1.前言 在数据分析工作中&#xff0c;使用最多的无疑就是各…

代码随想录算法训练营第五十三天|1143.最长公共子序列、1035.不相交的线、53.最大子序和(动态规划)

代码随想录 (programmercarl.com) 1143.最长公共子序列 与718的区别在于本题不需要是连续的&#xff0c;可以是在【不改变字符的相对顺序的情况下删除某些字符&#xff08;也可以不删除任何字符&#xff09;后组成的新字符串】 1.dp数组及下标含义 dp[i][j]&#xff1a;长度…

python pillow(PIL)库使用介绍

Python 图像库向 Python 解释器添加了图像处理功能。 该库提供了广泛的文件格式支持、高效的内部表示和相当强大的图像处理功能。 核心图像库旨在快速访问以几种基本像素格式存储的数据。它应该为通用图像处理工具提供坚实的基础。 概述 Python 图像库将图像处理功能添加到…

太阳光模拟器|百科

太阳光模拟器的功率 太阳光模拟器是一种能够模拟太阳光谱的仪器&#xff0c;它的功率对于太阳能行业来说至关重要。本文将从六个方面对太阳光模拟器的功率进行详细阐述&#xff0c;包括功率的定义、功率的计算、功率的影响因素、功率的调节方法、功率的应用以及未来的发展方向…

数据库选择题 (期末复习)

数据库第一章 概论简答题 数据库第二章 关系数据库简答题 数据库第三章 SQL简答题 数据库第四第五章 安全性和完整性简答题 数据库第七章 数据库设计简答题 数据库第九章 查询处理和优化简答题 数据库第十第十一章 恢复和并发简答题 2015期末 1、在数据库中&#xff0c;下列说…

Typescript---webpack和Babel的使用 03

webpack 通常情况下&#xff0c;实际开发中我们都需要使用构建工具对代码进行打包&#xff0c;TS同样也可以结合构建工具一起使用&#xff0c;下边以webpack为例介绍一下如何结合构建工具使用TS。 步骤&#xff1a; 初始化项目 进入项目根目录&#xff0c;执行命令 npm init -…

CAN通信-报文信号格式(Inter、Motorola)

DBC 1、Inter格式和Motorola格式2、制作DBC 1、Inter格式和Motorola格式 Inter格式(小端模式)&#xff1a;高位字节存放在高地址中&#xff0c;低位字节存放在低地址中&#xff0c;数据表现&#xff1a;以一个字节为例&#xff0c;前半个字节为地位。 Motorola格式(大端模式)&…

免费SSL证书安全吗?

在互联网时代&#xff0c;网络安全已经成为了每个网民关注的焦点。而SSL证书&#xff0c;作为保障网络安全的重要工具&#xff0c;也越来越受到人们的关注。然而&#xff0c;市面上的SSL证书价格不菲&#xff0c;让许多小站长望而却步。这时&#xff0c;免费的SSL证书就显得十分…

【XR806开发板试用】+00. Win11环境下安装docker环境

很幸运得到XR806开发板的试用机会&#xff0c;在此深深感谢主办方给菜鸟一个机会。 之前开发的芯片主要是STM32、GD32之类的芯片&#xff0c;都是基于win环境的集成环境。现在拿到这块开发板感觉无从下手&#xff0c;就从安装docker环境开始&#xff0c;慢慢更新xr806的开发之…