《洛谷深浅》第五章---数组与数据批量存储

news2024/12/24 21:59:11

在这里插入图片描述

文章目录

  • 前言
  • 一、小鱼比可爱
  • 二、小鱼的数字游戏
  • 三、冰雹猜想
  • 四、校门外的树
  • 五、旗鼓相当的对手
  • 六、旗鼓相当的对手
  • 总结


前言

本节主要学习一维数组 和 多维数组 后边的知识我觉得 可以试着了解并不要求你掌握这么难的题目 因为ACM更多都是思维题目 所以这里把重要的题目掌握就可以了。
剩下的题目 自己配合着书中的讲解 自行学习。
在这里插入图片描述


一、小鱼比可爱

洛谷p1428—小鱼比可爱:
在这里插入图片描述

解题思路:首先肯定是利用for循环先遍历每一条鱼,然后再 从遍历到的 这条鱼前面从新开始遍历 然后进行比较 发现满足 没有我可爱的时候 就计数的++ 然后从头到我 遍历完成后 输出计数的值。

代码如下:

#include<iostream>
using namespace std;
int n,a[101];//全局变量自动初始化为0
//这里多开1个数组是为了防止数组越界
int main()
{
	cin>>n;
	
	for(int i=0;i<n;++i)//输入小鱼的可爱值
		cin>>a[i];
	
	for(int i=0;i<n;i++)//遍历小鱼 
	{
		int cnt=0;//计数
		for(int j=0;j<i;j++)//从头到我这条鱼遍历
		{
			if(a[j]<a[i]) cnt++;//满足条件 就cnt++
		}
		cout<<cnt<<" ";//输出没我可爱的鱼的个数
	}
	return 0;
}

二、小鱼的数字游戏

P1427 小鱼的数字游戏 题目如下:

在这里插入图片描述
解题思路:开一个数组,然后倒着输出就可以了

代码如下:

#include<iostream>
using namespace std;
int a[110],n,i;
//多开10个数组和上一题目一样 防止数组越界
int main()
{
	cin>>n;
	while(n)
	{
		a[i++]=n;//存放到数组里面
		cin>>n;
	}
	//倒着输出
	for(int j=i-1;j>=0;--j) cout<<a[j]<<" ";
	//cout<<endl;
	return 0;
}

三、冰雹猜想

P5727 【深基5.例3】冰雹猜想题目如下:

在这里插入图片描述
解题思路: 开一个数组用来储存 计算的每一个数字变化的过程 然后方便输出 后面就是处理数字变化 其实就根据题目 要求 是偶数怎样 是奇数怎样 变化就可以了

代码如下

#include<iostream>
using namespace std;
int n,book[201],i;
int main()
{
	cin>>n;
	while(n!=1)
	{
		book[i++]=n;
		if(n%2==0) n/=2;//偶数操作
		else n=3*n+1;//奇数操作
	}
	book[i]=1;//把最开始的1存储进去
	for(int j=i;j>=0;j--) cout<<book[j]<<" ";//输出
	return 0;
}

四、校门外的树

P1047 [NOIP2005 普及组] 校门外的树

在这里插入图片描述
解题思路: 把树利用数组初始化为0 然后把要砍掉的树设置成为数字1 然后遍历数组就可以了 看谁是0 谁是1

代码如下

#include<iostream>
using namespace std;
const int N=10010;
int tree[N]={0};
int l,m;//左边右边
int main()
{
    cin>>l>>m;
    while(m--)
    {
        int u,v;
        cin>>u>>v;
        for(int i=u;i<=v;++i)
        {
            tree[i]=1;
        }
    }
    int sum=0;
    for(int i=0;i<=l;i++)
    {
        if(tree[i]==0) sum++;
    }
    cout<<sum<<endl;//输出结果
    return 0;
}

五、旗鼓相当的对手

P5728 【深基5.例5】旗鼓相当的对手
在这里插入图片描述
解题思路:比较简单就是按照题目输入 然后用给的判断条件 进行判断 输出

代码如下:

#include<iostream>
#include<cmath>
using namespace std;
int n,a[3][1001],ans;
int main()
{
	cin>>n;
	for(int i=1;i<=n;++i)
		cin>>a[0][i]>>a[1][i]>>a[2][i];
	for(int i=1;i<=n-1;++i)
		for(int j=i+1;j<=n;++j)
		if(abs(a[0][i]-a[0][j])<=5 
		 &&abs(a[1][i]-a[1][j])<=5
		 &&abs(a[2][i]-a[2][j])<=5
		 &&abs(a[0][i]+a[1][i]+a[2][i]-a[0][j]-a[1][j]-a[2][j])<=10)
		ans++;
	cout<<ans<<endl;
	return 0;
}

六、旗鼓相当的对手

P3397 地毯
在这里插入图片描述
解题思路:算法可以用差分算法 但是基础算法就是 依次加上去就行了,会比较基础很容易想到

代码如下:

#include<iostream>
using namespace std;
int a[1001][1001]={0},m,n,i,j,k,x1,x2,y1,y2;
int main()
{
    cin>>n>>m;
    for(k=1;k<=m;++k)
    {
        cin>>x1>>y1>>x2>>y2;
        for(i=x1;i<=x2;++i)
        	for(j=y1;j<=y2;++j)
        	++a[i][j];
    }
    for(i=1;i<=n;++i)
    {
        for(j=1;j<n;++j)
       	 cout<<a[i][j]<<' ';
        cout<<a[i][n]<<endl;
    }
    return 0;
}

总结

本节学习了数组的相关知识题目的练习,我相信你对数组的了解会更加的深入!
下一节我会讲解string 和 字符串的使用,拭目以待吧!

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

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

相关文章

【多线程系列-03】深入理解java中线程的生命周期,任务调度

多线程系列整体栏目 内容链接地址【一】深入理解进程、线程和CPU之间的关系https://blog.csdn.net/zhenghuishengq/article/details/131714191【二】java创建线程的方式到底有几种&#xff1f;(详解)https://blog.csdn.net/zhenghuishengq/article/details/127968166【三】深入…

基于树莓派实现的IO-Link 项目

IO-Link 协议 &#xff08;IEC 61131-9&#xff09; 是从传感器或执行器到 IO-Link 主站的串行半双工点对点连接。目前IO-Link 的硬应已经越来越普及。国外产品以巴鲁夫为代表。如何开发IO-link 产品&#xff1f;可以参考国外的一些开源项目。 国外有人开发了开发一个IO-Link主…

soundfile torchaudio 读取音频文件

soundfile 和 torchaudio 读取音频文件后的数据格式不同&#xff0c;前者是numpy&#xff0c;后者是tensor。前者读取后可以直接用于一些python的基础函数输入&#xff0c;后者用于pytorch的一些函数的应用。两者互换用途时候需要进行格式转换。 import soundfile as sf impor…

智能指针使用及详细解析

文章目录 智能指针概念为什么使用智能指针智能指针使用智能指针的常用函数get() 获取智能指针托管的指针地址.reset() 重置智能指针托管的内存地址&#xff0c;如果地址不一致&#xff0c;原来的会被析构掉 auto_ptrunique_ptrshared_ptr**shared_ptr的原理**引用计数的使用构造…

Gradle 构建工具 #5 又冲突了!如何理解依赖冲突与版本决议?

⭐️ 本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 和 [BaguTree Pro] 知识星球提问。 Gradle 作为官方主推的构建系统&#xff0c;目前已经深度应用于 Android 的多个技术体系中&#xff0c;例如组件化开发、产物构建、单元测试等…

STM32(HAL库)驱动SHT30温湿度传感器通过串口进行打印

目录 1、简介 2、CubeMX初始化配置 2.1 基础配置 2.1.1 SYS配置 2.1.2 RCC配置 2.2 软件IIC引脚配置 2.3 串口外设配置 2.4 项目生成 3、KEIL端程序整合 3.1 串口重映射 3.2 SHT30驱动添加 3.3 主函数代 3.4 效果展示 1、简介 本文通过STM32F103C8T6单片机通过HAL库…

Spring Batch之读数据库——JdbcCursorItemReader之自定义RowMapper(三十七)

一、自定义RowMapper 详情参考我的另一篇博客&#xff1a; Spring Batch之读数据库——JdbcCursorItemReader&#xff08;三十五&#xff09;_人……杰的博客-CSDN博客 二、项目实例 1.项目框架 2.代码实现 BatchMain.java: package com.xj.demo28;import org.springfram…

代码随想录第27天 | 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和

455.分发饼干 /*** param {number[]} g* param {number[]} s* return {number}*/ var findContentChildren function(g, s) {let a0let b0let count0g.sort((a,b)>a-b)s.sort((a,b)>a-b)while(a<g.length&&b<s.length){if(s[b]>g[a]){countba}else{b}…

STM32(HAL库)软件IIC驱动OLED

目录 1、简介 2、CubeMX初始化配置 2.1 基础配置 2.1.1 SYS配置 2.1.2 RCC配置 2.2 软件IIC引脚配置 2.3 项目生成 3、KEIL端程序整合 3.1 OLED驱动添加 3.3 主函数代 3.4 效果展示 1、简介 本文通过STM32F103C8T6单片机&#xff08;HAL库&#xff09;通过软件IIC方式…

java linux服务器环境搭建

安装 jdk 下载jdk: wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24http%3A%2F%2Fwww.oracle.com%2F; oraclelicenseaccept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f…

Kubespray v2.22.1 在线部署 kubernetes v1.26.5 集群

文章目录 1. 介绍2. 预备条件3. 配置 hostname4. yum5. 下载介质5.1 git 下载5.2 下载 kubespray v2.22.1 6. 编写 inventory.ini7. 配置互信8. 安装 ansible9. 关闭防火墙10. 安装 docker11. 配置内核参数12. 启动容器 kubespray13. 部署14. 配置连接集群 1. 介绍 kubespray​…

Ubuntu18.04 安装vscode 配置C#编译器

环境&#xff1a; ubuntu 18.04 依赖库&#xff1a; SDK .net-7 安装对象&#xff1a; vscode 在终端&#xff1a; ./dotnet-install.sh --channel 7.0 遇见如下提示&#xff1a; dotnet&#xff1a;未找到命令 如下操作&#xff1a; 下载–解压–安装 wget https://pa…

Python 自学 day04 函数为参数传递, 匿名函数, 文件操作

1. 函数作为参数传递 &#xff08;类似C 函数指针&#xff09; def func(x):mm x(1,2);#print(f"mm的值是{mm}")return mmdef add(x,y): #加法return xy def reduce(x,y): # 减法return x-ydef ride(x,y): # 乘法return x*ydef divide(x,y): #带有小数点除法…

详解DDPG算法:解决对大量的超参数、随机重启、任务环境敏感问题,完成月球着陆器,双足机器人demo、以及超参数调优教学

0.demo展示 当我复现强化学习算法 DDPG 时,我发现论文中缺少必要的实现细节,例如:Gamma、噪声方差、最大训练步数等参数的取值。此外,在我调整参数,成功完成某次训练后,当我对随机种子进行修改,发现训练时长有很大变化,甚至有时候无法完成训练。更别提把在某个任务上 w…

1、linux中安装tomcat

1、创建目录 cd /opt ls mkdir tomcat 2、将文件拖入tomcat目录中 3、解压安装包 cd /opt/tomcat ls tar -zxvf apache-tomcat-8.5.59.tar.gz 4、启动tomcat cd /opt/tomcat/apache-tomcat-8.5.59/bin ./startup.sh 5、在linux中访问 http://localhost:8080/ 6、开放端口 …

为什么选择孟德尔随机化来写文章

为什么选择孟德尔随机化来写文章

【日常BUG】批量插入数据时报错: There is no setter for proerty named uptByd‘ in ‘class ...

前提&#xff1a;定义了自动填充策略&#xff0c;使用mybatis-plus 配置了属性自动注入 实体类上也定义了需要自动填充的字段。 但是在使用批量插入数据时报错&#xff1a; There is no setter for proerty named uptByd’ in class …&#xff0c; 排查过后发现是实体类中没…

QT QTableView添加CheckBox

需求&#xff1a;QTableView中指定列所有Item均为CheckBox项&#xff0c;要求CheckBox居中显示 显示效果如下&#xff1a;三种表现效果 实现方式&#xff1a; 系统控件QCheckBox 自绘制CheckBox CheckBox的图片 实现代码&#xff1a;(原理&#xff1a;利用委托自绘的方式)…

FasterViT实战:使用FasterViT实现图像分类任务(一)

文章目录 摘要安装包安装timm安装 grad-cam 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集 摘要 论文翻译&#xff1a;https://blog.csdn.net/m0_47867638/article/details/131542132 官方源码&#xff1a;https://github.com/NVlabs/FasterViT 这是一篇来自英伟…

Flask_使用flask_marshmallow序列化数据

代码如下&#xff1a; from flask import Flask from flask_marshmallow import Marshmallow from flask_sqlalchemy import SQLAlchemy from marshmallow import fieldsapp Flask(__name__) app.config["SQLALCHEMY_DATABASE_URI"] "mysqlpymysql://root:12…