学习总结13

# 最大正方形

## 题目描述

在一个 n* m 的只包含 0 和 1 的矩阵里找出一个不包含 0 的最大正方形,输出边长。

## 输入格式

输入文件第一行为两个整数 n,m(1<= n,m<= 100),接下来 n 行,每行 m 个数字,用空格隔开,0 或 1。

## 输出格式

一个整数,最大正方形的边长。

## 样例 #1

### 样例输入 #1

```
4 4
0 1 1 1
1 1 1 0
0 1 1 0
1 1 0 1
```

### 样例输出 #1

```
2
```

解题思路

对每一个为1的位置进行搜索,判断这个位置的右边和左边是不是为1,如果为1,就对这个位置的右下角那个位置进行同样的操作。

代码

#include <bits/stdc++.h>
using namespace std;
int g[110][110];                       //保存数据
int n,m;
int x2,y2;                                  //保存初始位置
int sum;
int dfs(int x,int y)
{int x3,y3;for(x3=x2;x3<=x;x3++)                   //判断下方if(g[x3][y]==0)return 0;for(y3=y2;y3<=y;y3++)                   //判断右边if(g[x][y3]==0)return 0;sum++;                                  //边长加1dfs(x+1,y+1);                           //继续判断右下角return sum;
}
int main()
{int x,y,max1=0;scanf("%d%d",&n,&m);for(x=1;x<=n;x++){for(y=1;y<=m;y++){scanf("%d",&g[x][y]);}}for(x=1;x<=n;x++){for(y=1;y<=m;y++){if(g[x][y]==1){x2=x;y2=y;sum=0;max1=max(max1,dfs(x2,y2));}}}printf("%d",max1);return 0;
}

# [NOIP2008 普及组] ISBN 号码

## 题目描述

每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 9 位数字、1 位识别码和 3 位分隔符,其规定格式如 `x-xxx-xxxxx-x`,其中符号 `-` 就是分隔符(键盘上的减号),最后一位是识别码,例如 `0-670-82162-4`就是一个标准的 ISBN 码。ISBN 码的首位数字表示书籍的出版语言,例如 0 代表英语;第一个分隔符 `-` 之后的三位数字代表出版社,例如 670 代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。

识别码的计算方法如下:

首位数字乘以 1 加上次位数字乘以 2 ……以此类推,用所得的结果  mod 11,所得的余数即为识别码,如果余数为 10,则识别码为大写字母 X。例如 ISBN 号码 `0-670-82162-4` 中的识别码 4 是这样得到的:对 `067082162` 这 9 个数字,从左至右,分别乘以 1,2,……,9 再求和,即 0* 1+6*2+……+2* 9=158,然后取 158 mod 11 的结果 4 作为识别码。

你的任务是编写程序判断输入的 ISBN 号码中识别码是否正确,如果正确,则仅输出 `Right`;如果错误,则输出你认为是正确的 ISBN 号码。

## 输入格式

一个字符序列,表示一本书的 ISBN 号码(保证输入符合 ISBN 号码的格式要求)。

## 输出格式

一行,假如输入的 ISBN 号码的识别码正确,那么输出 `Right`,否则,按照规定的格式,输出正确的 ISBN 号码(包括分隔符 `-`)。

## 样例 #1

### 样例输入 #1

```
0-670-82162-4
```

### 样例输出 #1

```
Right
```

## 样例 #2

### 样例输入 #2

```
0-670-82162-0
```

### 样例输出 #2

```
0-670-82162-4
```

解题思路

简单题,要注意的是识别码为X的情况。

代码

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
char g[50];
int j[50];
int main()
{int x,y,z=0,k=1;scanf("%s",g+1);for(x=1;g[x]!='\0';x++){if(g[x]>='0'&&g[x]<='9')j[k++]=g[x]-'0';                      //把数字拿出来else if(g[x]=='X')                    //当识别码为X的时候要为它赋10j[k++]=10;}for(x=1;x<10;x++){z+=j[x]*x;}if(z%11==j[x])printf("Right");else{for(x=1;x<=12;x++)printf("%c",g[x]);if(z%11!=10)printf("%d",z%11);elseprintf("%c",'X');}return 0;
}

# [yLOI2023] 苦竹林

## 题目描述

共有 n 个风铃悬挂在屋檐下,每个风铃都能发出一定音调的声音。从左到右给风铃从 1 至 n 编号,第 i 个风铃的音调是 ai。

为了表达内心的思念,扶苏决定在 n 个的风铃中取出 m 个,送给远方的朋友。

请你找到最小的整数 q,使得存在一种方案,能够从 n 个风铃中挑出 m 个,设挑出风铃的音调为 b1, b2, …… bm,满足对任意的 1 <= i, j <= m,都有 |bi - bj| <= q。

## 输入格式

第一行是两个整数,表示风铃的个数 n 和挑选出风铃的个数 m。  
第二行有 n 个整数,表示每个风铃的音调。第 i 个整数表示 ai。

## 输出格式

输出一行一个整数,表示最小的 q。

## 样例 #1

### 样例输入 #1

```
5 3
1 2 3 4 5
```

### 样例输出 #1

```
2
```

## 样例 #2

### 样例输入 #2

```
6 4
1 7 8 3 4 6
```

### 样例输出 #2

```
4
```

## 提示

### 样例 2 解释

一种选择的方案是选择第 2,4,5,6 四个风铃,音调依次为 7,3,4,6。可以得到对任何的 1 <= i, j<= 4,都有 |bi - bj| <= 4。

另一种方案是选择第 2,3,5,6 四个风铃,同样计算得到的 q 为 4。

### 数据规模与约定

- 对 10% 的数据,m = 2。
- 另有 10% 的数据,m = n。
- 对 40% 的数据,n <= 5。
- 对 60% 的数据,保证对所有的 2 <= i <= n,满足 a[i - 1] <= ai,即 ai 单调不降。
- 对 80% 的数据,n <= 10^3。
- 对 100% 的数据,2 <= m <= n <= 10^5,1 <= ai <= 10^9。

解题思路

把数据排一下序,然后模拟一个窗口,用窗口内最大的值减去最小的值就是这个窗口的q,然后我们让这个窗口向后滑动并及记录下最小值就行了。

代码

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
long long a[1000001];
int main()
{long long n,m,x,l,r,min2=9999999999;scanf("%lld%lld",&n,&m);for(x=1;x<=n;x++)scanf("%lld",&a[x]);sort(a+1,a+n+1);l=1;r=m;while(r<=n){min2=min(min2,a[r]-a[l]);l++;r++;}printf("%lld",min2);return 0;
}

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

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

相关文章

【日常总结】SourceTree 1.5.2.0 更换用户名称和密码

一、场景 二、问题 三、解决方案 > 方案一&#xff1a;删除缓存文件 > 方案二&#xff1a;更新最新版本&#xff0c;可以直接修改密码&#xff08;推荐&#xff09; 方案一&#xff1a;删除缓存文件 Stage 1&#xff1a;设置显示隐藏文件 Stage 2&#xff1a;打开…

SouthernBiotech重组单克隆二抗

您是否在二抗的使用中遇到以下情况&#xff1a; 亲和力低&#xff0c;非特异性强&#xff1f; 稳定性差&#xff0c;批间差异大&#xff1f; SouthernBiotech(欣博盛生物)新推出重组单克隆二抗可避免出现以上问题&#xff01; 虽然传统多克隆二抗在实验中扮演很重要的角色&a…

linux上部署ftp服务

今天同事让帮忙部署一个ftp服务,以前折腾过几次,不过总会有奇奇怪怪的问题.今天的 话结合chatglm4,整理了一下部署. 在CentOS 7上部署FTP服务&#xff0c;可以使用VSFTP&#xff08;Very Secure FTP Daemon&#xff09;&#xff0c;这是一个安全、快速的FTP服务器。以下是部署F…

070:vue+cesium: 利用canvas设置线性渐变色材质

第070个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中设置线性渐变色的材质,这里使用canvas的辅助方法。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共104行)专栏目标示例效果 配置方式 1)查看基础…

题解:CF1918D(D. Blocking Elements)

题解&#xff1a;CF1918D&#xff08;D. Blocking Elements&#xff09; 一、 读题 1. 题目链接 &#xff08;1&#xff09; 洛谷链接 洛谷链接 &#xff08;2&#xff09; CF链接 CF链接 2. 题意简述 已知一个长度为 n n n 的数组 a a a&#xff0c;构造一个数组 b…

Android平台GB28181设备接入模块实现后台service按需回传摄像头数据到国标平台侧

技术背景 我们在做Android平台GB28181设备对接模块的时候&#xff0c;遇到这样的技术需求&#xff0c;开发者希望能以后台服务的形式运行程序&#xff0c;国标平台侧没有视频回传请求的时候&#xff0c;仅保持信令链接&#xff0c;有发起视频回传请求或语音广播时&#xff0c;…

数字孪生网络攻防模拟与城市安全演练

在数字化浪潮的推动下&#xff0c;网络攻防模拟和城市安全演练成为维护社会稳定的不可或缺的环节。基于数字孪生技术我们能够在虚拟环境中进行高度真实的网络攻防模拟&#xff0c;为安全专业人员提供实战经验&#xff0c;从而提升应对网络威胁的能力。同时&#xff0c;在城市安…

71.Spring和SpringMVC为什么需要父子容器?

71.Spring和SpringMVC为什么需要父子容器&#xff1f; 就功能性来说不用子父容器也可以完成&#xff08;参考&#xff1a;SpringBoot就没用子父容器&#xff09; 1、所以父子容器的主要作用应该是划分框架边界。有点单一职责的味道。service、dao层我们一般使用spring框架 来…

Qt 进程守护程序

Qt 进程守护程序 简单粗暴的监控&#xff0c;方法可整合到其他代码。 一、windows环境下 1、进程查询函数 processCount函数用于查询系统所有运行的进程中该进程运行的数量&#xff0c;比如启动了5个A进程&#xff0c;该函数查询返回的结果就为5。 windows下使用了API接口查询…

GEE数据集——全球健康地图项目Global Healthsites Mapping Project

Global Healthsites Mapping Project Healthsites.io和全球健康网站绘图项目的使命是帮助向政府、非政府组织和私营部门提供准确的最新健康设施信息。医疗机构登记簿是一个国家内运作良好的医疗信息系统的基石。准确和最新的数据提供了基础数据&#xff0c;有助于推动服务可用…

5分钟掌握接口自动化测试,4个知识点简单易学!

一. 什么是接口测试 接口测试是一种软件测试方法&#xff0c;用于验证不同软件组件之间的通信接口是否按预期工作。在接口测试中&#xff0c;测试人员会发送请求并检查接收到的响应&#xff0c;以确保接口在不同场景下都能正常工作。 就工具而言&#xff0c;常见的测试工具有…

16-Verilog实现二线制I2C CMOS串行EEPROM的读写操作

Verilog实现二线制I2C CMOS串行EEPROM的读写操作 1&#xff0c;二线制I2C CMOS串行EEPROM的简单介绍2&#xff0c;I2C总线特征介绍3&#xff0c;二线制I2C、CMOS串行EEPROM的读写操作4&#xff0c;EEPROM的Verilog HDL程序4.1&#xff0c;EEPROM的行为模型思路如下&#xff1a;…

【Kotlin】Kotlin环境搭建

1 前言 Kotlin 是一种现代但已经成熟的编程语言&#xff0c;由 JetBrains 公司于 2011 年设计和开发&#xff0c;并在 2012 年开源&#xff0c;在 2016 年发布 v1.0 版本。在 2017 年&#xff0c;Google 宣布 Kotlin 正式成为 Android 开发语言&#xff0c;这进一步推动了 Kotl…

【Go】一、Go语言基本语法与常用方法容器

GO基础 Go语言是由Google于2006年开源的静态语言 1972&#xff1a;&#xff08;C语言&#xff09; — 1983&#xff08;C&#xff09;—1991&#xff08;python&#xff09;—1995&#xff08;java、PHP、js&#xff09;—2005&#xff08;amd双核技术 web端新技术飞速发展&…

揭秘可解释性AI:构建信任的桥梁

--- ### 揭秘可解释性AI&#xff1a;构建信任的桥梁 在当前人工智能技术的迅猛发展中&#xff0c;可解释性AI&#xff08;XAI&#xff09;逐渐成为推动技术透明度和增强人机信任的重要工具。XAI旨在解开AI决策过程的“黑箱”&#xff0c;使机器的思考过程更加透明和可理解。本…

【Python程序开发系列】聊一聊github的pull request几种合并方式

一、什么是PR 在正常的工作流程中&#xff0c;PR 用于将一个分支的更改合并到另一个分支&#xff0c;而这些更改通常以提交的形式存在。每个提交都有一个唯一的提交 ID&#xff0c;用于标识和跟踪更改的历史。因此一般情况下PR包含源分支的多个commit提交记录&#xff08;pr_co…

数据结构_找环,破环题-2.5

一. 判断单链表有无环 a. 错误的思路&#xff1a;遍历陷入死循环 1&#xff09;和相交的遍历思路一样&#xff0c;找指向相同。 错误点 一直在死循环。 思考点&#xff1a;如何破环 b. 个人思路&#xff1a;反转链表回首结点 1&#xff09;目前的经验&#xff0c;无非就…

无人机集群协同导航构型自适应选择算法

无人机集群协同导航构型自适应选择算法 Evandworld E-mail&#xff1a;evandworldfoxmail.com 摘要 针对卫星定位系统用于无人机集群时成本高、精度低等问题&#xff0c;本文提出一种基于卡尔曼滤波和概率的无人机集群构型自适应选择算法。在自适应扩展卡尔曼滤波的基础上&a…

kubernetes部署nacos2.3.0

一、nacos简介 nacos官网地址 简单易用 动态配置管理、服务发现和动态的一站式解决方案&#xff0c;20多种开箱即用的以服务为中心的架构特性&#xff0c;基本符合生产要求的轻量级易用控制台。 更适应云架构 无缝支持 Kubernetes 和 Spring Cloud&#xff0c;在主流公共云上…

Qt:QFileDialog

目录 一、介绍 二、功能 三、具体事例 1、将某个界面保存为图片&#xff0c;后缀名可选PNG、JPEG、SVG等 一、介绍 QFileDialog提供了一个对话框&#xff0c;允许用户选择文件或者目录&#xff0c;也允许用户遍历文件系统&#xff0c;用以选择一个或多个文件或者目录。 QF…